无法解释的链接器错误

时间:2012-09-13 01:58:09

标签: c++ linker

我的电脑上有以下文件。

/lib64/libm.so.6
/usr/lib64/libm.so

但是当我链接以下内容时,我会收到错误

$ g++ -L/usr/lib64 -O3 -static -Wall -Wno-char-subscripts -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -IMSToolkit/include Comet.o Threading.o CometSearch.o CometPreprocess.o CometPostAnalysis.o CometMassSpecUtils.o CometWriteOut.o CometWriteSqt.o CometWritePepXML.o -LMSToolkit -lmstoolkitlite -o comet.exe
/usr/bin/ld: cannot find -lm
collect2: ld returned 1 exit status
$

有谁知道为什么?

1 个答案:

答案 0 :(得分:4)

是的我做到了。您正在尝试链接静态exe而不使用共享库 - 由于.so扩展名而共享您的库 - 您需要安装libm.a

删除-static选项或安装库的.a版本