我正在从 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,它们是相同的。