指定運行時動態庫位置的三種方式
- 在Linux 中,動態庫的搜索路徑除了默認的搜索路徑外,還可通過三種方法來指定:方法一:在配置文件/etc/ld.so.conf中指定動態庫搜索路徑;方法二:通過環境變量LD_LIBRARY_PATH指定動態庫搜索路徑;方法三:在編譯目標代碼時指定該程序的動態庫搜索路徑。
眾所周知,Linux動態庫的默認搜索路徑是/lib和/usr/lib。動態庫被創建后,一般都復制到這兩個目錄中。當程序執行時需要某動態庫,並且該動 態庫還未加載到內存中,則系統會自動到這兩個默認搜索路徑中去查找相應的動態庫文件,然后加載該文件到內存中,這樣程序就可以使用該動態庫中的函數,以及該動態庫的其它資源了。在Linux 中,動態庫的搜索路徑除了默認的搜索路徑外,還可以通過以下三種方法來指定。
通過gcc參數指定
- 通過gcc參數制定之后就不需要配置環境變量和配置文件了。
-Wl,-rpath=${LD_PATH}
通過設置環境變量
- 只對當前shell有效,關閉shell或者退出當前用戶則環境變量配置及無效了。
export LD_LIBRARY_PATH=/root/code/opencv/opencv-3.2.0/build/build/lib
通過配置文件
修改/etc/ld.so.conf文件。 其文件內容為: [root@VM_24_16_centos etc]# cat /etc/ld.so.conf include ld.so.conf.d