问题描述
在 macOS 平台执行二进制程序时,遇到 dyld: Library not loaded: xxx.dylib
错误
问题原因
二进制中会记录其依赖的动态库地址,如果在对应的地址找不到对应的动态库,则会出现该错误
解决方案
两种解决方案:
将对应的动态库放到依赖的路径中
修改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工具查看,即可看到最新的引用路径。