Mac osx 在二进制路径中加载 dylib 而不是 /usr/local/lib

Posted

技术标签:

【中文标题】Mac osx 在二进制路径中加载 dylib 而不是 /usr/local/lib【英文标题】:Mac osx load dylib inside the binary path instead of /usr/local/lib 【发布时间】:2019-10-17 13:33:52 【问题描述】:

我有一个需要 libprotobuf.20.dylib 库的 protoc 二进制文件,我将二进制文件和库放在同一个文件夹中,我想要做的是使用 libprotobuf.20.dylib 中的 libprotobuf.20.dylib 执行 protoc 二进制文件同一个文件夹,而不是“/usr/local/lib”。

但是当我执行协议时它说:

dyld:库未加载:/usr/local/lib/libprotoc.20.dylib

总是在 /usr/local/lib 上搜索,我该如何更改?

谢谢。

【问题讨论】:

【参考方案1】:

可以更改引用: install_name_tool -change /usr/local/lib/libprotobuf.20.dylib libprotobuf.20.dylib libprotoc.20.dylib

【讨论】:

以上是关于Mac osx 在二进制路径中加载 dylib 而不是 /usr/local/lib的主要内容,如果未能解决你的问题,请参考以下文章

OSX 部署:第 3 方库在 /Applications 中加载插件(自定义)而不是捆绑

在 macOS Big Sur 上,在 python 中加载 dylib 失败:`Symbol not found: ___addtf3`

将 32 位动态库转换为 64 位的 osx

libGDX / roboVM:如何修复“已在另一个类加载器中加载的本机库libhfscompressor.dylib”?

无法在 Xampp /lampp (MAC) 中加载 laravel 项目

Tools系列Mac OSX查看可执行文件引用的动态链接库