現在、非bazelプロジェクトでTensorflowの共有ライブラリを使用しようとしています。Tensorflowをコンパイル中にProtobufでエラーが発生する
だから私は使用しての.soファイルを構築しました:
bazel build //tensorflow:libtensorflow.so
を説明した後、私は依存関係をロードし、私は私のMakefileに以下のフラグを追加しました:
CFLAGS += -I/home/alpy/tensorflow/bazel-genfiles CFLAGS += -I/home/alpy/tensorflow/ CFLAGS += -I/home/alpy/tensorflow/tensorflow/contrib/makefile/downloads/eigen-latest/
LDFLAGS += -L../resources/
LDFLAGS += -ltensorflow.so
ときIこれを行うと、私はこの奇妙なエラーを得ます:
In file included from /home/alpy/tensorflow/tensorflow/core/public/session.h:22:0,
from ../src/conversion.h:14,
from ../src/conversion.cpp:1:
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:143:3: error: ‘PROTOBUF_DEPRECATED_ATTR’ does not name a type
PROTOBUF_DEPRECATED_ATTR void clear_version();
^
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:144:3: error: ‘PROTOBUF_DEPRECATED_ATTR’ does not name a type
PROTOBUF_DEPRECATED_ATTR static const int kVersionFieldNumber = 3;
^
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:145:3: error: ‘PROTOBUF_DEPRECATED_ATTR’ does not name a type
PROTOBUF_DEPRECATED_ATTR ::google::protobuf::int32 version() const;
^
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:146:3: error: ‘PROTOBUF_DEPRECATED_ATTR’ does not name a type
PROTOBUF_DEPRECATED_ATTR void set_version(::google::protobuf::int32 value);
^
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:273:37: error: no ‘void tensorflow::GraphDef::clear_version()’ member function declared in class ‘tensorflow::GraphDef’
inline void GraphDef::clear_version() {
^
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:276:54: error: no ‘google::protobuf::int32 tensorflow::GraphDef::version() const’ member function declared in class ‘tensorflow::GraphDef’
inline ::google::protobuf::int32 GraphDef::version() const {
^
/home/alpy/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h:280:66: error: no ‘void tensorflow::GraphDef::set_version(google::protobuf::int32)’ member function declared in class ‘tensorflow::GraphDef’
inline void GraphDef::set_version(::google::protobuf::int32 value) {
私は上にリンクされたページに記載されているように、protobufをロードしました。