/ usr / bin / ld: не удается найти -lboost_thread-mt

0

Я пытаюсь связать проект со следующей командой:

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.

  • 1
    Директория, на которую вы указываете -L , должна содержать libboost_thread-mt.so . Если это не так, измените его (например, на /home/alexander/opt/lib/boost_1_57_0 .
  • 1
    И -I вообще не имеет к этому никакого отношения, это для директорий включения (для вашего препроцессора для поиска файлов, которые вы #include ).
Показать ещё 9 комментариев
Теги:
boost

1 ответ

1

измените 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню