C++ 使用Eclipse编译boost::thread

C++ 使用Eclipse编译boost::thread,c++,boost,C++,Boost,我正在使用Ubuntu+Eclipse并安装了boost(不确定是否正确)。我使用apt-get-install-libboost安装了Boost* 我测试了一些简单的代码,它似乎可以正常工作 但是,当我尝试学习线程部分时,下面的代码不起作用 #include <boost/thread/thread.hpp> #include <iostream> using namespace std; void hello() { cout<<"hello!"

我正在使用Ubuntu+Eclipse并安装了boost(不确定是否正确)。我使用apt-get-install-libboost安装了Boost*

我测试了一些简单的代码,它似乎可以正常工作

但是,当我尝试学习线程部分时,下面的代码不起作用

#include <boost/thread/thread.hpp> 
#include <iostream>
using namespace std;

void hello()
{
   cout<<"hello!"<<endl;
}   

int main()
{
    boost::thread thrd(&hello);
    cout<<"Just a test!"<<endl;
}

如果我的问题太天真,请原谅我。请提供任何你认为可以帮助我的信息

您必须使用Boost链接线程库libboost\u thread…

有时,您只需告诉链接库的位置,它就会确定要链接的线程库。

添加链接器-> 1.右键单击项目 2.在“属性”窗口中选择 3.单击c/c++版本 4.选择设置 5.选择图书馆
6.然后你可以添加链接器:boost_线程和boost_系统等

谢谢你的快速评论。这是Eclipse的问题吗?那么在Eclipse中如何做到这一点呢?我想当我在Ubuntu上安装boost时,我不需要使用Eclipse。不,这不是Eclipse的问题,你必须为链接器指定一个选项(检查项目选项),比如-lboost_thread-gcc-4.3或类似的,你必须先找到库才能找到它的名称,您很可能还必须链接到pthread。您必须链接到pthread。我不得不这样做。自动链接在G++中不起作用,它是VisualC++的特性,所以在*nix下不可用。
Severity and Description Path Resource Location Creation Time Id
/usr/local/include/boost/thread/detail/thread.hpp undefined reference to `boost::detail::thread_data_base::~thread_data_base()'  FirstCppProject line 40 1260656497961 200


Severity and Description Path Resource Location Creation Time Id
/usr/local/include/boost/thread/detail/thread.hpp undefined reference to `boost::thread::start_thread()'  FirstCppProject line 191 1260656497967 202


Severity and Description Path Resource Location Creation Time Id
/usr/local/include/boost/thread/pthread/thread_data.hpp undefined reference to `vtable for boost::detail::thread_data_base'  FirstCppProject line 65 1260656497965 201


Severity and Description Path Resource Location Creation Time Id
undefined reference to `boost::thread::~thread()' FirstCppProject test.cpp line 15 1260656497959 199