включить заголовок target-c в файл c ++ - PullRequest
0 голосов
/ 19 июля 2010

Есть ли способ включить заголовок target-c из cpp?Потому что, когда я пытаюсь #include "cocos2d.h" из файла cpp .h, появляется много ошибок с жалобами на @ и and.

Могут ли файлы c ++ включать заголовки obj-cкак это?

Ответы [ 3 ]

8 голосов
/ 19 июля 2010

Это возможно, но вам нужно использовать Objective-C ++ (например, сделав расширение файла .mm) для смешивания языков, простые источники C ++ не работают.

Чтобы сделать это ясным:

  • .m файлы допускают только источники Objective-C
  • .cpp файлы допускают только источники C ++
  • .mm разрешают смешанные источники Objective-C ++ - т.е.Objective-C и C ++ с некоторыми ограничениями

Если вам нужно разделить два мира, вам нужно написать классы-оболочки, которые скрывают детали Objective-C от C ++ и наоборот.

1 голос
/ 19 июля 2010

C ++ понятия не имеет, что такое Objective-C.Поэтому включать Objective-C .h в .cpp не стоит.

С другой стороны, хотя все в порядке, если вы используете расширение .mm (Objective-C ++) вместо .m(Objective-C).

1 голос
/ 19 июля 2010

Это возможно при компиляции со смешанным objc / c ++.Приложения какао могут быть написаны на языках, смешанных в обоих направлениях: вы можете использовать класс obj-c внутри C ++ или класс C ++ внутри объекта obj-c.

Я предполагаю, что в вашем случае вы компилируете чистыйПриложение C ++, в котором запрещен код obj-c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...