Xcode和Objective-C++;can';找不到<;cstdio>; 我编写COCOA代码,使用C++库中定义的一些类。我把文件名的扩展名改为.mm,事情通常都很好

Xcode和Objective-C++;can';找不到<;cstdio>; 我编写COCOA代码,使用C++库中定义的一些类。我把文件名的扩展名改为.mm,事情通常都很好,c++,xcode,objective-c++,C++,Xcode,Objective C++,但并非总是如此。有时Xcode 4会让我失望:“词法或预处理器问题:'cstdio'未找到”。我不知道如何让Xcode找到它。我也不明白为什么它有时有效,但其他的却不行。你觉得怎么样 编辑:噪音。我的文件扩展名不是.mm,而是.m:(没有问题,也从来没有问题。请参见下文。它仍然可以找到很好 编辑:.mm文件应该一直工作良好。请确保在你的编译设置中,编译源为根据文件类型< /COD> 设置为。实际上,我习惯于相反的问题,比如“我应该用什么而不是C++?”——-可能会起作用,但在我的例子中,调用“γ

但并非总是如此。有时Xcode 4会让我失望:“词法或预处理器问题:'cstdio'未找到”。我不知道如何让Xcode找到它。我也不明白为什么它有时有效,但其他的却不行。你觉得怎么样


编辑:噪音。我的文件扩展名不是.mm,而是.m:(没有问题,也从来没有问题。请参见下文。

它仍然可以找到
很好


<>编辑:.mm文件应该一直工作良好。请确保在你的编译设置中,<代码>编译源为根据文件类型< /COD>

设置为<代码>。实际上,我习惯于相反的问题,比如“我应该用什么而不是C++?”——-可能会起作用,但在我的例子中,调用“γ”包含在我正在使用的C++类的头中,而我不拥有该代码。如果可以避免的话,我并不急于更改它。我更新了答案以检查项目中的生成设置。如果您的代码文件是.mm,并且该设置设置正确,那么它应该可以工作。您还可以尝试将其设置为Objective-C++进行构建,以查看它是否有效(不建议这样设置)@#$%!我一定是瞎了。我的文件扩展名是.m,不是.mm。一切都很好,很抱歉吵闹。谢谢大家。