2010-01-29 74 views
6

我想编译一些C++代码作为静态库在iPhone上使用。如果我为模拟器编译东西(i386架构),所有东西都编译成桃色,但是当我将架构切换到arm时,我看到所有这些包含错误,看起来在iPhone SDK STL头文件中。任何想法发生了什么?C++编译为iPhone(STL问题?)

首先是错误的:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/c++/4.2.1/string:45:0 Bits/c++config.h: No such file or directory in 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/c++/4.2.1/string 
+0

这是使用iPhone 3.2 SDK Beta btw。如果我选择目标作为设备3.2,它似乎工作,但所有较低的操作系统版本给我这些错误。 – toastie 2010-01-29 06:15:02

回答

10

添加/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/c++/4.2.1/armv6-apple-darwin9/为包括路径。

此外,请向Apple提交错误。

+0

文件错误+1 :) – 2010-02-01 18:36:43

+0

添加此路径只会修复设备版本。 – zooropa 2010-02-23 22:08:29

7

要解决所有的SDK版本这个bug,添加

$(SDKROOT)/usr/include/c++/4.2.1/armv6-apple-darwin9 

到“头文件搜索路径”设置建设(建筑不应该的问题,这仍然适用于模拟器对我来说)。

0

没有armv6-apple-darwin9子目录