在Eclipse中提升链接错误

时间:2009-04-27 18:16:06

标签: c++ eclipse linker include

我一直在试图在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

链接器如何错过这个?

2 个答案:

答案 0 :(得分:4)

好吧,链接器试图在其搜索路径中找到一个名为“libboost_thread.a”(或“libboost_thread.so”)的库,您显然没有这个库。 创建适当的链接,或使用“-lboost_thread-gcc43-mt”

答案 1 :(得分:1)

您的链接线应该是-lboost_thread-gcc43-mt-1_38