没有这样的文件或目录的文件—– stdarg.h和float.h?

我在xcode项目中使用.mm扩展名的一些文件来编译这些文件,在添加这个编译器之后,我们在编译设置中添加了LLVM-GCC 4.2,这显示了错误

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/usr/include/float.h:8:24: error: float.h: No such file or directory

我不知道如何删除这个错误任何帮助,以消除这个错误。

谢谢

Balraj

gcc 4.2中不支持这些头文件,Mac OSX默认使用这个头文件。

切换到4.0版本( 这里描述)

我遇到了同样的问题,并不能解决所有其他答案在这里的问题,所以我试着:

 cd /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/include sudo mv stdarg.h stdarg.h.original sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/lib/gcc/arm-apple-darwin9/4.0.1/include/stdarg.h 

编译错误消失了!

我已经在GCC 4.0编译器上了。更改为LLVM编译器1.6为我工作。 使用Mac OS X 10.7.3 Xcode 3.2.5

我遇到了这个问题,改用GCC 4.0并没有为我解决这个问题。 我还必须将我的活动SDK(从Xcode编辑器或控制台窗口的左上angular的下拉列表)从10.4(Base SDK)更改为10.6(我正在运行Snow Leopard)。

我不知道这会对你的开发有什么影响,但是对于我的问题来说这已经足够了,因为我只是在做一个简单的命令行工具。

在安装SDL框架之后,我遇到了在xcode中构build我的Hello World应用程序的这个错误。 按照本书的标准安装到Xcode 3.3.2的Snow Leopard OSX 10.6.3中,

“stdarg.h:没有这样的文件或目录”“float.h:没有这样的文件或目录”

因为它默认为SDK 10.4。

如果你有这个问题,将SDK设置为10.6,你应该清楚。

从我的testing中,根据上面提出的build议,这个问题与Base SDK版本是一致的。 也就是说,早期的SDK只能使用GCC 4.0,而后来的SDK使用GCC 4.0或4.2(以及更新的LLVM选项)。

总结应该工作的选项:

iOS项目/目标的基础SDK:
iOS 3.2及更早版本: GCC 4.0
iOS 4.0及更高版本: GCC 4.0,GCC 4.2,LLVM GCC 4.2,LLVM Clang

适用于Mac OS X项目/目标的基础SDK:
Mac OS X 10.5及更早版本: GCC 4.0
Mac OS X 10.6及更高版本: GCC 4.0,GCC 4.2,LLVM GCC 4.2,LLVM Clang

添加下面的其他标志

 CFLAGS += -I"$(YOUR_SYSROOT)/usr/lib/gcc/arm-apple-darwin10/4.2.1/include" CPPFLAGS += -I"$(YOUR_SYSROOT)/usr/include/c++/4.2.1" CPPFLAGS += -I"$(YOUR_SYSROOT)/usr/include/c++/4.2.1/armv6-apple-darwin10"