2

我正在运行 Xcode 4.5 和 MacOS 10.7.4 并尝试为本地分发创建 MacOS 应用程序。

我有一个来自第 3 方 USB 硬件供应商的 dylib。我不想将其放入 /usr/lib 中,而是将其与应用程序捆绑在一起。我已经尝试了这里提到的所有我能找到的方法:

创建一个 Cocoa 库目标,并使用复制构建阶段,使用 @rpath 和 @executable_path 和 @loader_path 设置路径...

这是我遇到的:

如果将 dylib 复制到与目标应用程序相同的目录中(通过将目标设置为“产品目录”),我可以构建目标应用程序以编译和运行,但这仅在应用程序在 Xcode 中运行时才有效。如果我从 finder 运行应用程序,它仍然会在 /usr/lib 中查找 dylib。

更改目标设置时的警告:当您再次更改构建时,不会删除复制到先前构建中某个位置的任何文件。这欺骗了我几次,以为我有解决方案,而我没有。

“库搜索路径”在链接时似乎按预期工作,但设置“动态库安装名称”和“运行路径搜索路径”似乎不会阻止代码仅在运行时查看 /usr/lib。它们似乎根本没有任何作用。

那么,为什么设置这些路径变量没有效果,我该如何设置运行时搜索路径?

4

0 回答 0