遇到一个加载动态库失败的问题,原因是该动态库从别的电脑拷贝的,因为该动态库依赖还是之前电脑的路径,所以导致加载失败。
错误信息:无法加载库xxx.dylib:(dlopen(xxx.dylib, 5): Library not loaded: xxx Reason: image not found)
这里以一个动态库为例子,目标可以是动态库,也可以是其他文件
查看动态库依赖关系
otool -L 文件名(目标名称)
例如:otool -L ./libTest.dylib
修改动态库依赖关系
install_name_tool -change 旧的依赖库名称 新的依赖库名称 目标名称
例如:install_name_tool -change libOldTest.dylib libNewTest.dylib ./libTest.dylib