2012-09-13 81 views
0

我在我的电脑上有以下文件。无法解释的链接器错误

/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 
$ 

有谁知道这是为什么?

回答

4

是的。您正在尝试一个静态的exe没有共享库的链接 - 你是因为.so扩展的共享库 - 你需要安装libm.a

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