我想在Mac OS X上編譯一個鏈接到Python的項目。 /Library/Frameworks
我有Python 2.7框架。我爲Mac OS X 4編譯,所以我在/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks
也有Python 2.3。如果我在它與-v
的確激活gcc
與-F/Library/Frameworks
和偷看,我看到以下內容:GCC Mac OS X框架搜索路徑:/ System/Library之前/ Library?
ignoring duplicate directory "/Library/Frameworks"
as it is a non-system directory that duplicates a system directory
<skipped>
#include "..." search starts here:
#include <...> search starts here:
<skipped>
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks (framework directory)
/Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks (framework directory)
即它會忽略我的/Library/Frameworks
,因爲它是重複的(最後一個路徑,它是/Library/Frameworks
的符號鏈接),然後在我的2.7之前找到它自己的Python 2.3框架。
我知道如何解決這個問題(例如使用-I
,包含include目錄的完整路徑),但我對搜索順序有些困惑。例如。鏈接器(ld
)seems to search System/Library and Library in different order。我試着檢查手冊和谷歌,但是,很顯然,我的技能是太低了:)
我想我的問題是:
- 這是一種正常的行爲,爲什麼
gcc
搜索順序,而ld
搜索不同? - 是否有任何框架精明的方法來解決這個問題,或者我必須使用普通的舊的
-I
標誌?
謝謝,這是一個解決方案,它並沒有出現我,我可以用一個符號:)(不幸的是,我失去了控制該臨時賬戶,所以我不能將答案標記爲解決方案。) – 2011-04-01 17:42:16