我正在尝试在Mac OS X上编译一个链接到Python的项目.我有Python 2.7框架/Library/Frameworks.我为Mac OS X 4编译,所以我也有Python 2.3 /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks.如果我调用gcc与-F/Library/Frameworks和偷看什么用呢-v,我看到以下内容:
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)
Run Code Online (Sandbox Code Playgroud)
即它忽略了我,/Library/Frameworks因为它是一个副本(最后一个路径,它是一个符号链接/Library/Frameworks)然后在我的2.7之前找到它自己的Python 2.3框架.
我理解如何解决这个问题(例如使用-I包含目录的完整路径),但我对搜索顺序感到有些困惑.例如,链接器(ld)似乎以不同的顺序搜索系统/库和库.我试过检查手册和谷歌,但显然,我的技能太低了:)
我想我的问题是:
gcc按此顺序ld搜索,而搜索方式不同?-I标志?