我一直关注Thrift C++ wiki tutorial。使用TSimpleServer一切正常。 但是,当我尝试实现TNonblockingServer时,我收到了这个错误:(
undefined reference to `apache::thrift::server::TNonblockingServer::serve()
undefined reference to `apache::thrift::server::TNonblockingServer::~TNonblockingServer()
我认为它与头文件或命名空间有关。 我正在使用以下标题:
#include <thrift/protocol/TBinaryProtocol.h>
#include <thrift/server/TSimpleServer.h>
#include <thrift/transport/TServerSocket.h>
#include <thrift/transport/TBufferTransports.h>
#include <thrift/concurrency/ThreadManager.h>
#include <thrift/concurrency/PosixThreadFactory.h>
#include <thrift/server/TThreadedServer.h>
#include <thrift/server/TNonblockingServer.h>
using namespace ::apache::thrift;
using namespace ::apache::thrift::protocol;
using namespace ::apache::thrift::transport;
using namespace ::apache::thrift::server;
using namespace ::apache::thrift::concurrency;
任何想法都错了吗?
答案 0 :(得分:1)
我明白这是迟到的回复。 这是由于TNonblockingServer缺少libthriftnb库。
而Tsimplesever和TThreadedServer在libthrift库中,所以它适用于你。