1. 程式人生 > >Linux下.h與動態庫.so檔案的路徑新增及gcc編譯的記錄

Linux下.h與動態庫.so檔案的路徑新增及gcc編譯的記錄

使用場景

當你在程式中加入一個非gcc預設搜尋路徑上的一個.h標頭檔案時,會報錯“No such file”,當你的程式需要動態連結一個.so庫時,在預設路徑裡找不到該庫,也會報錯。那麼,如何解決這兩種問題呢?

gcc編譯使用“-I”選項

當頭檔案非標準標頭檔案或者不在當前目錄下時(比如在/usr/local/somedir/include下),編譯時按如下方式操作:gcc mytest -I/usr/local/somedir/include mytest.c

新增動態連結庫到系統目錄

比如.so庫在/usr/local/somedir/lib下,那麼就做如下操作:
sudo vim /etc/ld.so.conf


新增/usr/local/somedir/lib一行語句
sudo ldconfig

gcc 完整編譯選項

gcc mytest -I/usr/local/somedir/include mytest.c -L/usr/local/somedir/lib -ldb