小编Mik*_*hin的帖子

GCC Mac OS X框架搜索路径:/ System/Library之前/ Library?

我正在尝试在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标志?

macos gcc

5
推荐指数
1
解决办法
7350
查看次数

标签 统计

gcc ×1

macos ×1