查看并且修改动态库的依赖关系

遇到一个加载动态库失败的问题,原因是该动态库从别的电脑拷贝的,因为该动态库依赖还是之前电脑的路径,所以导致加载失败。

错误信息:无法加载库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

你可能感兴趣的:(MACOSX,C++,Qt)