GCC鏈接的時候,一般通過-l來鏈接動態庫和靜態庫,但是優先動態庫的使用。
1. 因此想強制鏈接某一個靜態庫的時候,可以直接使用靜態庫的名字,包括后綴名和前綴,例如libcurl.a,不通過-l來鏈接
例如:gcc -o static_lib_link -ggdb -O3 -I./include test.cpp libcurl.a
這樣子就會把靜態庫直接鏈接進來,這個例子中要求test.cpp和libcurl.a在當前編譯路徑下
2. 另一種方式是通過-static,這是靜態鏈接,要求鏈接所有的庫都有對應的靜態庫
gcc -static -o shared_lib_link -ggdb -O3 -I./include test.cpp -L./lib -lcurl
這個命令會尋找靜態庫進行鏈接