GCC 常用
记录一些编译遇到的问题。
首先推荐陈皓的《跟我一起写 Makefile》,可以算是启蒙书了,一些参数的含义在这里也可以找到,非常方便。
动态库导入静态库
遇到需要编译一个动态库,但是其中包含两个静态库,怎么样能把他们编译到一起呢?
目标:libmylib.so
源:src1.c src2.c
库:liba.a libb.a
依赖:libmylib.so -> libb.a -> liba.a
目录:
1 |
|
编译:
1 |
|
说明:
-L
后接静态库所在目录位置-l
后接静态库名字,去掉前面的lib
以及文件类型.a
-Lxxx -lxxx
需要放在最后- 两个以上静态库时,被依赖的放在后面,如上
b
依赖a
,a
在后
验证:使用以下命令确保未出现静态库中的函数名
1 |
|
GCC 常用
https://wishlily.github.io/article/tools/2017/06/15/undefined/