MacOS 遇到 dyld: Library not loaded: xxx.dylib 的解决方案

问题描述

在 macOS 平台执行二进制程序时,遇到 dyld: Library not loaded: xxx.dylib 错误

问题原因

二进制中会记录其依赖的动态库地址,如果在对应的地址找不到对应的动态库,则会出现该错误

解决方案

两种解决方案:

  1. 将对应的动态库放到依赖的路径中

  2. 修改dylib 的依赖地址
    1)查看二进制程序依赖地址:

otool -L target_name

2)修改二进制程序依赖地址

install_name_tool -change /usr/local/lib/libA.1.dylib @executable_path/../Frameworks/libA.1.dylib target_name

此处的 target_name 即你要修改的文件。
修改完毕后,再通过otool工具查看,即可看到最新的引用路径。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容