Я начал использовать POCO и просмотрел документацию потоков. Из этого я создал тестовую программу, которая, похоже, не работает:
#include <iostream>
#include <Poco/Thread.h>
#include <Poco/ThreadTarget.h>
using namespace std;
void myfunc(){
cout << "test";
}
int main(){
Poco::ThreadTarget ra(&myfunc);
Poco::Thread thr;
thr.start(ra);
return 0;
}
Я получаю эти ошибки:
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:18: undefined reference to `Poco::ThreadTarget::ThreadTarget(void (*)())'
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:19: undefined reference to `Poco::Thread::Thread()'
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:20: undefined reference to `Poco::Thread::start(Poco::Runnable&)'
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:19: undefined reference to `Poco::Thread::~Thread()'
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:18: undefined reference to `Poco::ThreadTarget::~ThreadTarget()'
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:19: undefined reference to `Poco::Thread::~Thread()'
C:\Users\M\workspace\Poco\Debug/../src/Poco.cpp:18: undefined reference to `Poco::ThreadTarget::~ThreadTarget()'
Я предполагаю, что это происходит из-за какой-то фундаментальной ошибки в моих знаниях о потоках POCO. Может ли кто-нибудь предоставить рабочую программу или, лучше, объяснение того, как именно работают потоки POCO. Документация, хотя и обширная, не объясняет, что делают несколько классов, участвующих в потоках, в целом.
int main(){ Poco::ThreadTarget ra(&myfunc); Poco::Thread thr; thr.start(ra); thr.join(); return 0; }
- person Aviad Rozenhek   schedule 08.10.2012