标签:use lob locale 目录 from rar clu 后缀 tar
1. 坑多的办法
-static
如果需要链接成不依赖任何so文件的程序,用ldd查看显示为"not a dynamic executable",但是这个选项时不推荐的。
即使像这样链接(c++):“-static-libgcc -static-libstdc++ -static”
一是会出现警告,比如我使用了系统调用getaddrinfo,“Using ‘getaddrinfo‘ in statically linked applications requires at runtime the shared libraries from the glibc version used for l
inking”
二是会挂(c代码没试过),类似如下的调用栈,在main函数之前,知道原因的同学请留言:-)
2. 普遍的做法
就是直接连接.a文件全路径,这没啥好说的,就把它当.o文件一样链接。
3. 优雅的做法
既然是库,-l和-L才是正派的做法,比如同一目录下有libxxx.a文件和libxxx.so文件,gcc默认会链接so,改变这一默认行为的方法就是:将"-lxxx"改为"-l:libxxx.a"
强制链接某后缀名非so(带版本的so),用 -l:libxxx.so.xxxx 链接选项
标签:use lob locale 目录 from rar clu 后缀 tar
原文地址:https://www.cnblogs.com/adylee/p/9082436.html