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