Ошибка увеличения связи в Eclipse - PullRequest
1 голос
/ 27 апреля 2009

Я бесплодно бился головой о стену, пытаясь включить функциональность потоков Boost в мой проект Eclipse C ++ в Ubuntu.

Шаги на данный момент:

Скачать буст с boost.org

./configure --with-libraries=system,thread
make
sudo make install

sudo ldconfig -v

В проекте eclipse установите для каталога include значение:

/usr/local/include/boost-1_38/

В компоновщике установите для библиотеки (-l) значение boost_thread

Установите путь поиска (-L) на

/usr/local/lib

Линкер работает, возвращается с ошибкой ld

/usr/bin/ld: cannot find -lboost_thread

следующим образом:

Invoking: GCC C++ Linker
g++ -L/usr/local/lib -o"boostHello3"  ./src/boostHello3.o   -lboost_thread
/usr/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status

Здесь приведены соответствующие записи из / usr / local / lib:

libboost_system-gcc43-mt-1_38.a
libboost_system-gcc43-mt-1_38.so
libboost_system-gcc43-mt-1_38.so.1.38.0
libboost_system-gcc43-mt.a
libboost_system-gcc43-mt.so

libboost_thread-gcc43-mt-1_38.a
libboost_thread-gcc43-mt-1_38.so
libboost_thread-gcc43-mt-1_38.so.1.38.0
libboost_thread-gcc43-mt.a
libboost_thread-gcc43-mt.so

Вот содержимое /etc/ld.so.conf

include /etc/ld.so.conf.d/*.conf
/usr/local/lib

Как компоновщик пропускает это?

Ответы [ 2 ]

4 голосов
/ 27 апреля 2009

Ну, компоновщик пытается найти библиотеку с именем "libboost_thread.a" (или "libboost_thread.so") в своем пути поиска, которого у вас, очевидно, нет. Либо создайте соответствующую ссылку, либо используйте «-lboost_thread-gcc43-mt»

1 голос
/ 27 апреля 2009

Ваша строка компоновщика должна содержать -lboost_thread-gcc43-mt-1_38.

...