0
我是boost库的新手。如果答案很明显,请原谅我。这是我的代码。如何使用Boost创建线程
#include <iostream>
#include <boost/thread.hpp>
using namespace std;
void task1(void)
{
cout << "There" << endl;
}
int main()
{
boost::thread mythread(task1);
cout << "Hi" << endl;
}
当我尝试建立我收到以下:
/mythread1.cpp:13: undefined reference to `boost::thread::~thread()'
它编译,如果我只是宣布线程,提高::线程MyThread的();
有什么建议吗?我只需要知道声明和启动这个线程来完成task1()的语法。
请不要回复主题。我的问题很简单。谢谢你的帮助。顺便说一句,我使用Eclipse和Boost 1.42。
你的程序编译得很好,它的链接失败了。 boost线程库不是头文件,只是像大多数boost一样,但是需要构建一个库。你有没有编译它,或者你有一个预编译版本,并且你链接到它是否正确? – Rolle 2012-03-18 23:47:25
首先,你使用什么命令来编译和链接这个程序?其次,你需要修复你的程序,以便它在完成工作之前不会终止。 (当你从'main'返回时,这隐含地终止你的过程。) – 2012-03-19 00:01:42
感谢Rolle,David。不,我没有建立它。你能指点我一个教程吗?我正在使用Eclipse,并且已经安装了Synaptic的增强功能。从我在Eclipse中的项目中,我可以看到包含所有boost文件的include路径,但不知道如何链接或构建或使其可用于我的项目。 – user1277564 2012-03-19 00:56:19