Я пытаюсь связать проект со следующей командой:
g++ build/test.o -o bin/test -pthread -L lib -L /home/alexander/opt/lib -lboost_thread-mt
что приводит к следующим ошибкам:
/usr/bin/ld: cannot find -lboost_thread-mt
collect2: error: ld returned 1 exit status
Однако библиотеки boost
устанавливаются в каталоге /home/alexander/opt/lib
. Почему компоновщик не находит библиотеки ускорения? Я также попытался установить связь с -I
если -L
с тем же результатом...
Содержимое /home/alexander/opt/lib
is /home/alexander/opt/lib/boost_1_57_0
.
измените libboost_thread -mt на libboost_thread, сначала найдите адрес libboost_thread.so и libboost_thread.a, затем создайте программные ссылки для этих файлов по одному и тому же адресу, так что это должно быть:
ln -s /...libboostSourceFiles.../libboost_thread.so /..RequestTOmtFiles.../libboost_thread-mt.so
он работает и для других файлов libboost -mt, например, для сериализации, iostreams, programoptions
-L
, должна содержатьlibboost_thread-mt.so
. Если это не так, измените его (например, на/home/alexander/opt/lib/boost_1_57_0
.-I
вообще не имеет к этому никакого отношения, это для директорий включения (для вашего препроцессора для поиска файлов, которые вы#include
).