5

当我混合 .m 和 .cpp 时,我遇到了 xcode 找不到默认 cpp 包含的问题(例如<map>

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

4

2 回答 2

8

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

于 2009-06-17T15:51:26.260 回答
0

诊断此问题的最佳方法是将“编译 foo.mm”行从“构建结果”窗口拖到对此消息的回复中。这向我们展示了你的项目告诉编译器的内容,非常详细,并且会准确地显示出什么是错误的。

于 2009-06-17T17:19:55.760 回答