合并多个.a库为一个.a库

如下编译命令
ar -cqT libtarget.a libA.a libB.a libC.a libxxx.a

一般makefile中,先编译目标库,然后再和其他依赖.a库合并为一个库。
ar rsuv libtemp.a file1.o file2.o file3.o filexxx.o
ar -cqT libtarget.a libtemp.a libA.a libB.a libC.a libxxx.a

注意,合并的都必须是.a库,否则不行,比如下面
ar -cqT libtarget.a libtemp.a libA.a libB.a libC.a libxxx.a -lpthread

因为-lpthread是so库和.a不一样,所以它报如下错:
two different operation options specified
那么你得得检查下它的合并库是否有非.a库的。

你可能感兴趣的:(linux,linux)