当我混合使用.m和.cpp时,我遇到xcode无法找到默认cpp包含的问题(如<map>

更新: 我在我的iphone项目中添加了一个静态库(它没有任何问题进行编译),然后在.m中使用include,然后来自c ++的依赖项.h变得疯狂......无法找到或无法编译,我试过.mm但是它不起作用。

有帮助吗?

解决方案

如果您使用的是Objective-C ++(即将Objective-C和C ++混合在一个源文件中或将C ++标头导入Objective-C文件中),那么您应该在源代码文件上使用.mm扩展名。默认情况下,Xcode将使用Objective-C ++编译器编译.m文件。 <=>文件使用标准C编译器编译。

其他提示

诊断此问题的最佳方法是拖动<!>“编译foo.mm <!>”;从“构建结果”窗口中行到对此消息的回复。这向我们展示了你的项目告诉编译器的内容,令人难以忍受的细节,并将显示出错误的原因。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top