使用者目錄連結第三方庫
使用者目錄連結第三方庫
最近在看公司程式碼時遇到了引用第三方庫boost,於是就去Google上找了安裝包,但是在公司主機上,使用者是沒有root許可權的所以沒法安裝。於是研究了下使用者目錄引用第三方庫問題。
下載安裝boost
參考:
https://blog.csdn.net/u011641865/article/details/73498533
設定環境變數LD_LIBRARY_PATH
將第三方庫放在目標路徑,我這裡是
/data01/nmjf/zhengch3/usr/local/lib
如果沒有設定的話編譯會報錯
設定環境變數CPLUS_INCLUDE_PATH
注意:這裡如果不設定環境變數的話,也可以在編譯的時候用 -I 指定
G++編譯
g++ al_tls.cpp -L/data01/nmjf/zhengch3/usr/local/lib/ -lboost_random -L/data01/nmjf/zhengch3/usr/local/lib/ -lboost_thread -o al_tls
-L是告訴編譯器動態庫的路徑
-l是庫目標檔案
使用 -l的時候需求除掉字首lib 和字尾 .so
如果沒有設定環境變數時:
g++ al_tls.cpp -I/data01/nmjf/zhengch3/usr/local/include -L/data01/nmjf/zhengch3/usr/local/lib/ -lboost_random -L/data01/nmjf/zhengch3/usr/local/lib/ -lboost_thread -o al_tls
第三方庫
如果有需求可以加入第三方庫的搜尋路徑
g++ al_tls.cpp -I/data01/nmjf/zhengch3/usr/local/include -L/data01/nmjf/zhengch3/usr/local/lib/ -lboost_random -L/data01/nmjf/zhengch3/usr/local/lib/ -lboost_thread -Wl,-rpath=/data01/nmjf/zhengch3/usr/local/lib -o al_tls