介紹
gcc - 參數
-I ( i 的大寫) :指定頭文件路徑(相對路徑或覺得路徑,建議相對路徑)
-i :指定頭文件名字 (一般不使用,而是直接放在**.c 文件中通過#include<***.h> 添加)
-L :指定連接的動態庫或者靜態庫路徑(相對路徑或覺得路徑,建議相對路徑)
-l (L的小寫):指定需要鏈接的庫的名字(鏈接 libc.a :-lc 鏈接動態庫:libc.so : -lc 注意:-l后面直接添加庫名省區“lib”和“.so”或“.a” )
問題:
問題1:-l(L的小寫)鏈接的到底是動態庫還是靜態庫
答案:如果鏈接路徑下同時有 .so 和 .a 那優先鏈接 .so
問題2:如果路徑下同時有靜態庫和動態庫如何鏈接靜態庫
答案:使用顯示鏈接, gcc -l:lib***.a (將靜態庫的名字顯示寫出來)
或者在 gcc 編譯的時候 加入參數 -static -lXXX, 則可以添加路徑下面的靜態庫。
驗證方法:
可以通過 ldd 命令查看生成的 目標文件鏈接的庫,使用方法: ldd ***.o
-------------------------------------------------------------------------
轉載原文鏈接:https://blog.csdn.net/abcdu1/article/details/86083295