![](/img/trans.png)
[英]Link errors compiling a mixed objective-C/C++ project with C++11 support in xcode 4.5.2
[英]Xcode, Objective-C Project: not compiling C++ file
我的Objective-C项目中有C ++文件头( interface.hpp
)。
当我使用它时,在行上出现编译器错误: #include <map>
map file not found
与#include <string>
相同
string file not found
在我看来,尽管文件扩展名为hpp,但Xcode仍将其编译为C头文件,而不是C ++头文件。
有什么建议吗?
标头的扩展名无关紧要。 重要的是包含该标头的文件扩展名。 如果要在Objective-C代码中包含C ++标头,则需要将Objective-C文件的扩展名更改为.mm
。 这表明该文件是一个Objective-C ++源文件(实际上是另一种语言,因此请注意您在做什么)。 .mm
文件中包含的.mm
头将被解析为Objective-C ++,因此您的C ++构造应该可以正常工作。
您必须将文件扩展名更改为.mm
才能使用。
如果将扩展名更改为.mm不起作用,请尝试在构建设置中将-l“ c ++”添加到Other Linker Flags。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.