1. 程式人生 > >檢視並且修改動態庫的依賴關係

檢視並且修改動態庫的依賴關係

遇到一個載入動態庫失敗的問題,原因是該動態庫從別的電腦拷貝的,因為該動態庫依賴還是之前電腦的路徑,所以導致載入失敗。

錯誤資訊:無法載入庫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