xcode – 在Cocoa App中使用#include编译错误

我试图在 xcode 4.0中编译一个 Cocoa应用程序,我收到此错误…
fatal error: 'string' file not found

…当尝试在此行上编译为.pch文件时:

#include <string>

我有另一个xcode项目做同样的事情,但没有得到错误.我已经搜索了一些不同的构建设置,但我找不到一个.唯一的区别是编译OK的项目是作为命令行项目启动的,而不是Cocoa项目,但构建设置是相同的.

目标操作系统是Mac OS X 10.6

编译预编译头时发生错误,但没有到达任何其他文件.编译版本唯一的框架是Foundation.framework,非编译版本也有.

为什么不在一个项目而不是另一个项目中找到?任何建议?

解决方法

您的源文件的扩展名是什么?如果是“.m”,请尝试将其更改为obj-cpp“.mm”,以便Xcode推断出正确的语言.
或者只是将“特定”标题放在“#ifdef __cplusplus”块中

更新

对于项目中编译的每种语言,必须存在防护,因为此特定包含在pch中. IOW,如果它都是c和/或objc那就没有错误.显然,至少有一个文件不能识别C(例如C或ObjC源也在目标中编译).因此,你只需保护它:

// MONPrefix.pch

#ifdef __cplusplus
#include <string>
#endif

// same for objc,so your C and C++ sources compile with no error:
#ifdef __OBJC__
#include <Foundation/Foundation.h>
#endif

以上是来客网为你收集整理的xcode – 在Cocoa App中使用#include编译错误全部内容,希望文章能够帮你解决xcode – 在Cocoa App中使用#include编译错误所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。