【发布时间】:2014-10-03 05:43:06
【问题描述】:
我通过emerge安装了POCO,在第一次尝试编译时我得到了
undefined reference to `Poco::RefCountedObject::RefCountedObject()
这清楚地表明它没有找到库。 不是emerge为你做链接吗?
如何在 Gentoo 中编译或正确链接 POCO 以便它找到库?
#include "Poco/ActiveMethod.h"
#include "Poco/ActiveResult.h"
#include <utility>
#include <iostream>
using Poco::ActiveMethod;
using Poco::ActiveResult;
class ActiveAdder
{
public:
ActiveAdder(): add(this, &ActiveAdder::addImpl)
{
}
ActiveMethod<int, std::pair<int, int>, ActiveAdder> add;
private:
int addImpl(const std::pair<int, int>& args)
{
return args.first + args.second;
}
};
int main(int argc, char** argv)
{
ActiveAdder adder;
ActiveResult<int> sum = adder.add(std::make_pair(1, 2));
// do other things
sum.wait();
std::cout << sum.data() << std::endl;
return 0;
}
【问题讨论】:
-
我们需要更多信息:你是如何编译的?还有“没有为你做链接,我只是#include?”那是什么意思?你是如何安装 Poco 库的?等等等等
-
@JaviV 是的,这些库是通过emerge dev-libs/poco 1.4.5-r1 安装的 描述:C++ 类库可以简化和加速以网络为中心的可移植应用程序的开发
标签: c++ poco-libraries gentoo