我在ubuntu上编译scribe服务器时遇到以下错误。
In file included from store.cpp:27:
scribe_server.h:45: error: conflicting return type specified for ‘virtual scribe::thrift::ResultCode scribeHandler::Log(const std::vector<scribe::thrift::LogEntry, std::allocator<scribe::thrift::LogEntry> >&)’
../src/gen-cpp/scribe.h:18: error: overriding ‘virtual scribe::thrift::ResultCode::type scribe::thrift::scribeIf::Log(const std::vector<scribe::thrift::LogEntry, std::allocator<scribe::thrift::LogEntry> >&)’
store.cpp: In member function ‘virtual bool ThriftFileStore::openInternal(bool, tm*)’
我正在使用带有节俭0.7.0的scribe 2.2 安装thrift时没有错误。
另外,我在一篇文章中读到,在使用旧版本的thrift时会遇到此错误。但我正在使用最新版本的节俭。
答案 0 :(得分:0)
似乎是节俭的问题。
解决方案:使用thrift stable version
字面意思地复制靓丽字:
“我认为这个问题与最近的节俭改变有关 (git dev版本)。对于像这样的节俭片段: 枚举X { ... } X foo(); 用于为foo生成此原型的thrift: X foo(); 但现在它生成“X :: type foo();”,导致错误 遇到“。
在这里回答:http://groups.google.com/group/scribe-server/msg/b17bda3b80706558