為避免自己開發的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到程序主目錄,在啟動。
個人覺得第二種比較好