我的电脑上有以下文件。
/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
$
有谁知道为什么?
答案 0 :(得分:4)
是的我做到了。您正在尝试链接静态exe而不使用共享库 - 由于.so
扩展名而共享您的库 - 您需要安装libm.a
删除-static
选项或安装库的.a
版本