链接库的顺序是否会对编译产生影响?

时间:2012-08-28 22:25:08

标签: c gcc static-libraries

  

可能重复:
  Linker order - GCC
  GCC C++ Linker errors: Undefined reference to 'vtable for XXX', Undefined reference to 'ClassName::ClassName()'

我正在使用GCC来构建应用程序。主程序调用驻留在静态库中的函数(例如,myfunc())(例如,libmylib.a)。此函数从数学库中调用cosf()sinf()函数。

现在,在gcc命令行中,我给出了-lmylib -lm选项,并且构建正常。但是,当更改库的顺序时,构建将失败并显示错误:

libmylib.a(mylib.o): In function `myfunc':
mylib.c:22: undefined reference to `cosf'
mylib.c:23: undefined reference to `sinf'

为什么gcc没有按照某种顺序给出的库完成构建?

0 个答案:

没有答案