【发布时间】:2012-04-05 14:49:45
【问题描述】:
我有一组项目,我正在编译为动态库。这些 .dylib 中的每一个都依赖于我想放置在各种其他目录中的其他各种 .dylib(即,一些在可执行路径,一些在加载器路径,一些在固定路径)。
当我在已编译的库上运行 otool -L 时,我得到了这些依赖项的路径列表,但我知道这些路径是如何设置/确定的。它们几乎看起来是伪随机的。我花了几个小时弄乱 Xcode 中的“构建设置”来尝试更改这些路径(w/@rpath、@executable_path、@loader_path 等),但我似乎无法更改任何内容(通过运行 @ 检查987654322@)。我什至不完全确定在哪里添加这些标志,也不太了解以下内容之间的区别或如何正确使用它们:
链接 - “动态库安装名称”
链接 - “运行路径搜索路径”
链接 - “其他链接标志”
搜索路径 - “库搜索路径”
当我在各种库上运行install_name_tool -change 时,我能够成功更改运行路径搜索路径(再次通过运行otool -L 进行验证以确认)。
我正在运行 Xcode 4.2,我非常接近放弃,只使用运行 install_tool_name 的构建后脚本进行更改。但它是一个 kludge hack 修复,我不想这样做。
在哪里可以看到如何设置 dylib 依赖项的搜索/运行路径?
有人对我可能做错了什么有任何想法吗?
【问题讨论】:
标签: xcode macos xcode4.2 dylib dyld