我一直在试图在Ubuntu的Eclipse C ++项目中包含boost的线程功能,毫无结果地撞到墙上。
到目前为止的步骤:
从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
链接器如何错过这个?
答案 0 :(得分:4)
好吧,链接器试图在其搜索路径中找到一个名为“libboost_thread.a”(或“libboost_thread.so”)的库,您显然没有这个库。 创建适当的链接,或使用“-lboost_thread-gcc43-mt”
答案 1 :(得分:1)
您的链接线应该是-lboost_thread-gcc43-mt-1_38
。