1. 问题说明
在 lib 目录下有静态链接库libxxx.a及动态链接库libxxx.so及 libxxx.so.xxx 时,使用gcc -lxxx -L./lib时默认会链接libxxx.so库
目录结构如下:
============================
.
|---test.c
|
|--- lib
|----libxxx.so
|
|----libxxx.so.xxx
|
|----libxxx.a
=============================
gcc test.c -lxxx -L./lib
2. 如何链接libxxx.a文件
方法1:
gcc test.c -l:libxxx.a -L./lib
方法2:把libxxx.a当作.o文件链接
gcc test.c ./lib/libxxx.a
3. 如何链接带本号的动态库libxxx.so.xxx
gcc test.c -l:libxxx.so.xxx -L./lib
4. 总结
简而言之在使用 -lxxx和-L选项这种方式链接库时可以使用-l:libxxx.a、-l:libxxx.so.xxx来链接特定的库文件