在c ++文件中包含objective-c标头

sha*_*vey 0 c++ objective-c include

有没有办法从cpp中包含一个objective-c标头?因为当我尝试从cpp .h文件#include"cocos2d.h"时,很多关于@和s的抱怨都出现了.

c ++文件可以包含像这样的obj-c标题吗?

Geo*_*che 8

这是可能的,但你需要使用Objective-C++(例如通过制作文件扩展名.mm)来混合语言,普通的C++源代码不起作用.

为了说清楚:

  • .m 文件只允许Objective-C源
  • .cpp 文件只允许C++源代码
  • .mm 允许混合的Objective-C++源 - 即Objective-C和C++都有一些限制

如果你需要保持这两个世界的分离,你需要编写包装类来隐藏C++中的Objective-C细节,反之亦然.