从OSX 10.6切换到10.7时Scons编译错误

时间:2013-04-23 00:54:02

标签: macos compiler-errors osx-lion osx-snow-leopard scons

我正在从Snow Leopard(10.6.8)MAC迁移到Lion MAC(10.7.5)。我没有更改代码或构建脚本中的任何内容,但是一旦我尝试在OSX Lion上使用SCONS构建我的项目,我会收到以下错误:

gcc -arch i386 -o build/osx/objs/installer/Controller.o -c -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -x objective-c++ -Oz -m32 -Wall -fno-common -fvisibility=hidden -fno-strict-aliasing -Wall -fno-common -fvisibility=hidden -DMACOSX_DEPLOYMENT_TARGET=10.5 -g -DOS_OSX=1 -D_OS_NAME=osx -D_PRODUCT_VERSION=1.1.0 -D_PRODUCT_NAME=Aspen -D_GLOBAL_NS_VARNAME=Aspen -D_CONFIG_FILENAME=Aspen.config -D_BOOT_RUNTIME_FLAG= -D_BOOT_HOME_FLAG= -D_DISTRIBUTION_URL=smithmicro.com -D_CRASH_REPORT_URL=smithmicro.com/p/v1/app-crash-report -DOS_32=1 -DDEBUG=1 -I. -Ikroll -Ibuild/osx/sdk/include -Ikroll/libkroll -Ikroll/libkroll/utils installer/osx/Controller.mm
In file included from kroll/libkroll/utils/../base.h:10,
                 from kroll/libkroll/utils/utils.h:8,
                 from installer/osx/Controller.h:8,
                 from installer/osx/Controller.mm:6:
/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/string:44:28: error: bits/c++config.h: No such file or directory

我在这里有10.5 sdk:/Developer/SDKs/MacOSX10.5.sdk。当我将Snow Leopard上的10.5 SDK与Lion MAC进行比较时,它们看起来是一样的。

非常感谢任何帮助。提前谢谢。


修改

打开详细信息后,我可以在10.7机器上看到包含路径的信息:

 /usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include
 /Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1
 /Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/backward
 /Developer/SDKs/MacOSX10.5.sdk/usr/include
 /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks (framework directory)
 /Developer/SDKs/MacOSX10.5.sdk/Library/Frameworks (framework directory)

当我看到10.6机器时它已经

/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/i686-apple-darwin10

这是缺少的包含,但我不确定它是如何包含在10.6而不是10.7中,它没有在构建脚本中的任何地方明确添加。我相信它基于构建的BaseSDK,它们是相同的。

1 个答案:

答案 0 :(得分:2)

所以我最终创建了自己的名为

的别名文件夹
/Developer/SDKs/MacOSX10.5.sdk/usr/include/c++/4.2.1/i686-apple-darwin11

在我的10.7机器上,现在一切都编译完毕。我想知道为什么Xcode / SDK安装没有为我创建这个文件夹,就像在10.6上那样。