GCC链接到C ++库查询

时间:2017-01-19 12:26:18

标签: c++ gcc

我遇到需要编译C代码和C ++代码以及链接到C ++静态库的情况。

这可以通过使用以下命令来实现:

gcc  file.cpp file.c -xc++ -pthread -std=c++11 -lstdc++ -shared-libgcc -L/path -l:liba.a -lm -o program

但是,如果我更改链接命令的顺序(切换-lm-l:libary.a),如下所示:

gcc  file.cpp file.c -xc++ -pthread -std=c++11 -lstdc++ -shared-libgcc -lm -L/path -l:liba.a -o program

这不起作用,因为编译器抱怨:

liba.o: undefined reference to symbol 'log@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line

为什么会这样?

0 个答案:

没有答案