ошибка при компиляции scribe2.2 с thrift 0.7.0 на Ubuntu Lucid и Maverick - PullRequest
0 голосов
/ 27 ноября 2011

Я получаю следующую ошибку при компиляции сервера scribe в Ubuntu.

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*)’

Я использую scribe 2.2 с thrift 0.7.0 При установке thrift не было ошибок.

Также япрочитайте в одном посте, что эта ошибка встречается при использовании старых версий Thrift.Но я использую последнюю версию Thrift.

1 Ответ

0 голосов
/ 21 декабря 2011

Кажется, проблема от бережливости.

Решение: используйте стабильную версию

Копирование буквально Ин-И Лян слова:

«Я думаю, что эта проблема как-то связана с недавним изменением экономии (версия для git dev). Для экономного сниппета, как: enum X { ... } X foo (); Thrift используется для создания этого прототипа для Foo: X foo (); но теперь он генерирует "X :: type foo ();", что приводит к ошибке, которую вы столкнулись ".

ответил здесь: http://groups.google.com/group/scribe-server/msg/b17bda3b80706558

...