我开始使用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线程如何工作。该文档尽管内容丰富,但并未说明线程中涉及的多个类的整体功能。
最佳答案
您的错误看起来像链接器错误。根据此处http://pocoproject.org/docs/Poco.Thread.html的文档,您需要确保链接到PocoFoundation库。也许您已经在这样做了,但如果不是,则需要这样做。
您没有指定要使用的操作系统,但是如果使用的是g++,请尝试在构建说明中添加-lPocoFoundation
以链接到该库并提供该库的路径。如果使用Windows,请将PocoFoundation.lib
添加到您的项目中。
关于c++ - 如何使用POCO线程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12080820/