昨天,一个混合Objective C和C ++的旧项目与xCode 4.2编译得很好。是的,相关文件的后缀为.mm。今天我尝试创建一个新项目,使用第一个项目的大部分作为模板,但它不会编译。我得到的错误如下:
Lexical or Preprocessor Issue
'list' file not found
回应:
#include <list>
并出现此错误:
Semantic Issue
Unknown type name 'class'
我回到了昨天编制好的旧项目,进行了一次完整性检查,并且热潮,同样的事情:
Semantic Issue
Use of undeclared identifier 'std'
xCode突然忘记了如何找到整个标准类型库?!从命令行运行gcc仍然可以正常工作。有一点需要注意,所有错误都来自.h文件。这无关紧要。到目前为止,当从.mm或.cpp中包含时,xCode始终使用.h文件做正确的事情。它为什么会突然停止?我发誓,我没有改变任何东西!
提前致谢...
答案 0 :(得分:4)
我也有这个问题......我必须进入并更改项目设置以编译为Objective-C ++,而不是“编译器默认为文件类型”...我认为如果你的名字也会被修复.cpp文件.mm。但如果你像我一样,代码是共享的,你不能只改变文件名......