gcc編譯優先鏈接靜態庫


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

這個命令會尋找靜態庫進行鏈接

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM