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