необъяснимая ошибка компоновщика

У меня есть следующие файлы на моем компьютере.

/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

Решение

Да. Вы пытаетесь связать статический исполняемый файл без общих библиотек — библиотеки, которыми вы пользуетесь, являются общими .so расширение — вам нужно установить libm.a

Либо удалите -static вариант или установить .a версии библиотеки

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]