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