我开始使用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线程是如何工作的。该文档虽然内容丰富,但并没有解释线程中涉及的多个类作为一个整体所做的事情。
发布于 2012-08-23 04:43:06
您的错误看起来像是链接器错误。根据这里的文档,您需要确保链接到PocoFoundation库。也许你已经在这么做了,但如果不是这样,你就需要这么做。
您没有指定您正在使用的操作系统,但是如果您使用的是g++,请尝试将-lPocoFoundation添加到您的构建说明中,以链接到该库并提供该库的路径。如果使用windows,请将PocoFoundation.lib添加到项目中。
https://stackoverflow.com/questions/12080820
复制相似问题