2013-04-23 43 views
2

我正在從Snow Leopard(10.6.8)MAC遷移到Lion MAC(10.7.5)。我沒有改變的代碼或構建腳本什麼,但一旦我嘗試建立在OSX獅子使用scons的我的項目,我得到以下錯誤:從OSX 10.6切換到10.7時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:/開發人員/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,它們是相同的。

+0

聽起來像包含路徑的問題。即使您沒有更改源代碼,但在更改操作系統版本時,lib/include路徑稍有不同的情況並不罕見。我不熟悉libkroll,但可能需要將它移植到Mac Lion。 – Brady 2013-04-23 05:58:54

+0

感謝您的回覆。我增加了更多的問題,我發現缺少包含路徑,但我不知道爲什麼它沒有添加。 – 2013-04-23 18:34:54

回答

2

所以我結束了創建我自己的別名文件夾,名爲

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

我10.7的機器上,現在一切編譯。我想知道爲什麼Xcode/SDK安裝沒有爲我創建這個文件夾,就像它在10.6上做的那樣。

+0

也工作(顯然)在10.8。我會期望符號鏈接* -darwin12,但仍然使用版本11(顯然)。 – Hiura 2013-07-25 13:06:22