Я новичок в библиотеке 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().
Пожалуйста, никаких ответов от темы. Мой вопрос достаточно прост. Спасибо за вашу помощь. Btw, Im с использованием Eclipse и Boost 1.42.
Ваша программа компилируется в порядке, ее связь не удалась. Расширение threading lib не является заголовком, как и большинство boost, но библиотека, которая должна быть построена. Вы построили его или у вас есть предварительно скомпилированная версия, и вы правильно ссылаетесь на нее? – Rolle
Во-первых, какую команду вы используете для компиляции и ссылки на эту программу? Во-вторых, вам нужно исправить вашу программу, чтобы она не заканчивалась, пока она не закончила работу. (Когда вы вернетесь из 'main', это неявно завершает ваш процесс.) –
Спасибо Rolle, David. Нет, я его не построил. Можете ли вы указать мне учебник? Я использую Eclipse, и я установил boost от Synaptic. Из моего проекта в Eclipse я вижу путь include со всеми файлами boost, но не уверен, как связывать или строить или сделать его доступным для моего проекта. – user1277564