Задача импорта C и C ++. Просто, но я не понимаю - PullRequest
0 голосов
/ 21 февраля 2011

Я использую cocos2d и box2d. (IPhone SDK) Если я хочу импортировать box2d, я добавляю это в начало файла # import "Box2D.h" , а затем переименую свой класс" .mm ".Теперь у меня есть только класс без , файл ".m", просто файл ".h".

Это выглядит так, и если я импортирую box2d, это выдает мне много ошибок, потому что box2dC ++ и обычно мне нужно изменить его на «.mm», но я не могу.

#import "Box2D.h"

// Defines individual types of messages that can be sent over the network. One type per packet.
typedef enum
{
    kPacketTypeTime = 1,
    kPacketTypePosition = 2,
    kPacketTypeStartSignal = 3,
} EPacketTypes;

// Note: EPacketType type; must always be the first entry of every Packet struct
// The receiver will first assume the received data to be of type SBasePacket, so it can identify the actual packet by type.
typedef struct
{
    EPacketTypes type;
} SBasePacket;

// the packet for transmitting a score variable
typedef struct
{
    EPacketTypes type;

    float time;
} STimePacket;

// packet to transmit a position
typedef struct
{
    EPacketTypes type;

    b2Vec2 position; //*******************************important**
    float rotation;

} SPositionPacket;

// packet to transmit a start signal
typedef struct
{
    EPacketTypes type;

    BOOL startGame;

} SStartSignalPacket;

Почему я хочу это сделать?Посмотрите на "** важный" в моем коде.Я хочу использовать b2Vec2.

Большое спасибо за чтение.Хорошего дня:)

1 Ответ

2 голосов
/ 21 февраля 2011

Попробуйте переименовать заголовок в .hh, потому что компилятор все еще обрабатывает его как Objective C

...