web-dev-qa-db-ja.com

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バージョンは上記のものと一致します。

protoc --version
libprotoc 2.6.1

何が悪いのですか?

もともと私のプロトコルバージョンは3.0.0でしたが、2.6.1に同期して手順を実行することで再インストールしました。 make distclean、。/ configure、make、make installを実行して、目的の2.6.1バージョンをインストールします。古いバージョンがサーバーにインストールされているので、それが必要でした。

10
the_qbf

問題は、システム(/ usr/include/google/protobufまたは/ usr/local/include/google/protobuf内)にインストールされているヘッダーが、protocよりも新しいバージョンのプロトコルバッファーにあることです。両方のバージョンが異なる場所にインストールされていて、間違ったバージョンが使用されている場合があります。

しかし、私のprotocバージョンは上記のものと一致します。

はい、そのコードはprotocによって生成されたもので、独自のバージョンを認識しています。 「私のバージョン(2006001)は、インストールされているヘッダーの要求に必要な最小バージョン(GOOGLE_PROTOBUF_MIN_PROTOC_VERSION)よりも小さいですか?」

11
Kenton Varda