Ошибка буфера протокола при компиляции во время проверки GOOGLE_PROTOBUF_MIN_PROTOC_VERSION

В настоящее время я получаю сообщение об ошибке, которое указывает на эти строки в заголовочном файле, созданном protoc:

#if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

Но моя версия протокола соответствует приведенной выше:

protoc --version
libprotoc 2.6.1

Что я делаю неправильно?

Первоначально моя версия protoc была 3.0.0, затем переустановил ее, синхронизировавшись с 2.6.1 и выполнив шаги; make distclean, ./configure, make, make install для установки желаемой версии 2.6.1. Мне нужна была более старая версия, так как она установлена ​​на наших серверах.

9

Решение

Проблема в том, что установленные в вашей системе заголовки (в / usr / include / google / protobuf или / usr / local / include / google / protobuf) относятся к более новой версии буферов протокола, чем ваша protoc, Возможно, обе версии установлены в разных местах и ​​используется неправильная версия.

Но моя версия протокола соответствует приведенной выше:

Да, потому что этот код был сгенерирован вашим protocи он знает свою собственную версию. Код спрашивает: «Моя версия (2006001) меньше минимальной версии, требуемой для установленных заголовков (GOOGLE_PROTOBUF_MIN_PROTOC_VERSION)?»

11

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]