c++ - 在 mac os x 上将/usr/local/lib 设为ld 的默认库搜索路径?

标签 c++ xcode path linker-errors ld

我安装了 XCode,但由于某些原因,/usr/local/lib 不在默认库搜索路径中:

gcc -Xlinker -v

给我:

@(#)PROGRAM:ld  PROJECT:ld64-224.1
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 armv6m armv7m armv7em
Library search paths:
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib
Framework search paths:
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/

这是不幸的,因为 /usr/local/lib是已安装库的一个相当规范的位置,并且没有 /etc/ld.so.conf + ldconfigmac os x修改默认库搜索路径。所以不使用 -L/usr/local/lib这会导致链接器错误。除了设置环境变量 DYLD_LIBRARY_PATH 之外,还有其他非运行时选项吗? ?

编辑:设置 DYLD_LIBRARY_PATH环境变量对我没有任何作用。我必须设置 LIBRARY_PATH env 变量而不是能够链接安装在 /usr/local/lib 下的库与 gcc .

安装 XCode 时是否有关于此的选项? (是工作电脑,自己没装过)

最佳答案

要使用 Xcode 向我的项目添加临时库,我执行了以下操作:

enter image description here

要将临时包含路径添加到我的 XCode 库搜索路径,我必须执行以下操作:

enter image description here

如果要添加默认include and search paths你需要使用:

对于包含路径:

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH

对于库路径:

LIBRARY_PATH

为了让 Xcode 和 OS X 中的其他 GUI 应用程序(在 10.10 上测试)能够访问这些环境变量,您需要使用以下方法设置变量:

/bin/launchctl setenv LIBRARY_PATH /usr/local/lib
/bin/launchctl setenv CPATH /usr/local/include

但这些都不是永久的。为了让这些变量跨重启,您需要创建一个启动脚本。 See this page for an example.

关于c++ - 在 mac os x 上将/usr/local/lib 设为ld 的默认库搜索路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314733/

相关文章:

python - 测试 Python 中是否存在可执行文件?

javascript - 文件路径中双星(**)的含义

python - 使用python在目录中搜索文件夹和文件

c# - 有效地检查 List<List<int>> 中的数字是否仅以正数或负数存在

c - 我在哪里放置 xCode 5.1 c 编译器的 .txt 和头文件

ios - Xcode:发送的事件在将 UIButton 类更改为自定义类时消失

xcode - UISearch栏始终显示:无结果

c++ - 生成随机顶点

c++ - 与 dlopen/dlsym 一起使用时 dynamic_cast 失败

c++ - 为什么我应该在使用命名空间 std 之后包含头文件 <iostream>?