c++ - 捆绑动态库 : keep looking in the usr/local/lib

标签 c++ xcode macos shared-libraries dylib

我已经将我的动态库 xxx.dylib 放在应用程序的 Content/Frameworks/目录中。我正在使用 OSX、Xcode。

我已将“运行路径搜索路径”设置为@loader_path/../Frameworks

我已将“动态库安装名称”设置为@rpath/xxx.dylib

它可以很好地编译和链接。但我一直有执行错误。 “dyld:未加载库:/usr/local/lib/xxx.dylib”

如果我将库放在/usr/local/lib/中,那么它就可以正常工作。

我如何告诉 Xcode 在 Content/Frameworks/目录中查找它? 谢谢你, 巴蒂斯特

最佳答案

我添加了以下构建后脚本,它修复了库的安装名称:

install_name_tool -change /usr/local/lib/xxx.dylib @executable_path/../Frameworks/xxx.dylib $TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/your_executable_name

关于c++ - 捆绑动态库 : keep looking in the usr/local/lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37075199/

相关文章:

c++ - MSVC 在哪些方面不符合标准?

xcode - 为什么 xcode 返回 < '(Int) ->Int' is not Convertible to 'Int' > 错误,但不在 Playground 中?

macos - 在 iterm2 中更改用户名、主机名和路径颜色

xcode - 清除 Xcode 颜色窗口上的色板?

iphone - 当我最小化 iPhone 中的任何应用程序时,该应用程序是否在后台运行?或暂停?或停止应用程序?

objective-c - 在 MacOS 应用程序中运行时从大型字典中检索值

php - 本地连接 php 到 Mac 上的 mdb 或 sql

C++ 什么是命名转换等价物

c++ 指针丢失指针引用

C++11 在 int x, int y 之间随机,不包括 list<int>