我有一系列的项目正在编译为动态库。每个 .dylib 都依赖于其他各种 .dylib,我想将这些依赖项放置在不同的目录中(例如可执行路径、加载器路径和固定路径)。
当我在已编译的库上运行 otool -L
时,我会得到一个列表,其中包含这些依赖项的路径,但我不知道这些路径是如何被设置/确定的。它们几乎看起来是伪随机的。我花了数小时在 Xcode 的“构建设置”中尝试更改这些路径(使用 @rpath、@executable_path、@loader_path 等),但似乎无法更改任何内容(通过运行 otool -L
进行检查)。我甚至不确定在哪里添加这些标志,也不真正理解以下差异或如何正确使用它们:
链接 - “动态库名”
链接 - “运行路径搜索路径”
链接 - “其他链接标志”
搜索路径-“库搜索路径”
当我在各种库上运行 install_name_tool -change
时,我能够成功更改运行路径搜索路径(再次通过运行 otool -L
进行验证)。
我正在运行 Xcode 4.2,我非常接近放弃并只使用后构建脚本来运行 install_tool_name 进行更改。但这是一个拙劣的修补程序,我不想这样做。
我在哪里可以看到设置 dylib 依赖项的搜索/运行路径?
有人有任何关于我可能犯了什么错误的想法吗?