Caffe ライブラリをインストールしようとしていますが、システムにインストールされている protobuf のバージョンが間違っているため、コンパイルに問題があります。
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers. Please
^
.build_release/src/caffe/proto/caffe.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
私はフォーラムで提案されたアプローチの多くに従いましたが、最も類似した問題がこの投稿で議論されたと思います。
caffe.pb.h のコントロールは次のとおりです。
#if 3002000 < 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
ただし、システム ヘッダー (/usr/include/google/protobuf/stubs/common.h) では:
The current version, represented as a single integer to make comparison
easier: major * 10^6 + minor * 10^3 + micro
define GOOGLE_PROTOBUF_VERSION 2005000
ターミナルから、コマンド protoc --version は libprotoc 3.2.0を返します。
3.2 バージョンをインストールしましたが、システム ヘッダーが更新されません。以前の投稿の 1 人のユーザーは、「最初に必要な protobuf を PATH 変数で指定する方法を見つけました。別のバージョンの protobuf を削除する必要はありません (他のことはその古いバージョンに依存していました)」とコメントしました。
誰かが私にステップバイステップで説明してもらえますか? または、システム ヘッダーを更新できますか? libprotoc に繋がる要素が多いので、それらを壊さないようにしたいです。
ありがとう