現在、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バージョンをインストールします。古いバージョンがサーバーにインストールされているので、それが必要でした。
問題は、システム(/ usr/include/google/protobufまたは/ usr/local/include/google/protobuf内)にインストールされているヘッダーが、protoc
よりも新しいバージョンのプロトコルバッファーにあることです。両方のバージョンが異なる場所にインストールされていて、間違ったバージョンが使用されている場合があります。
しかし、私のprotocバージョンは上記のものと一致します。
はい、そのコードはprotoc
によって生成されたもので、独自のバージョンを認識しています。 「私のバージョン(2006001)は、インストールされているヘッダーの要求に必要な最小バージョン(GOOGLE_PROTOBUF_MIN_PROTOC_VERSION)よりも小さいですか?」