編譯時設置動態鏈接庫路徑


為避免自己開發的so庫不在系統路徑,有幾種方法:
1.修改環境變量
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:{自定義庫路徑}
2.設置鏈接器參數
gcc main.c -Wl,-rpath=./lib
[root@nlocalhostl]# readelf -a a.out |grep RPATH
0x000000000000000f (RPATH) Library rpath: [./lib]

這樣程序運行時就會在當前目錄下的lib下查找so文件。
不過運行時需要寫個shell腳本,先cd到程序主目錄,在啟動。

個人覺得第二種比較好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM