在ubuntu lucid和maverick上使用thrift 0.7.0编译scribe2.2时出错

时间:2011-11-27 07:03:20

标签: c++ thrift scribe-server

我在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时会遇到此错误。但我正在使用最新版本的节俭。

1 个答案:

答案 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