Ubuntu 14.04 に Caffe をインストールする

Ubuntu 14.04 に Caffe をインストールする

Ubuntu 14.04 で Caffe (ディープラーニング) を構築するのに助けが必要です。コマンドを実行すると、sudo make all -j4次のようなレポートが表示されます。

In file included from /usr/local/include/google/protobuf/arena.h:48:0,
                 from .build_release/src/caffe/proto/caffe.pb.h:23,
                 from ./include/caffe/util/signal_handler.h:4,
                 from src/caffe/util/signal_handler.cpp:7:
/usr/include/c++/4.8/typeinfo:39:37: error: expected ‘}’ before end of line
 #pragma GCC visibility push(default)
                                     ^
/usr/include/c++/4.8/typeinfo:39:37: error: expected unqualified-id before end of line
/usr/include/c++/4.8/typeinfo:39:37: error: expected ‘}’ before end of line
/usr/include/c++/4.8/typeinfo:39:37: error: expected ‘}’ before end of line
/usr/include/c++/4.8/typeinfo:39:37: error: expected ‘}’ before end of line
/usr/include/c++/4.8/typeinfo:39:37: error: expected declaration before end of line
make: *** [.build_release/src/caffe/util/signal_handler.o] Error 1

このエラーはどういう意味ですか?私が構築に使用した手順Caffe: 私は Linux OS の初心者なので、エラーを解決するためのあらゆる提案をいただければ幸いです :)

答え1

c++11またはに関するメッセージを見ましたかgnu++11?

同様の問題がここにあるようです:https://github.com/BVLC/caffe/issues/6359

解決策は

  1. protobuf を更新し、MAKEFILE に以下を追加します。

    CXXFLAGs += -std=c++11
    

    これらのフラグが MAKEFILE に必要かどうかはわかりません (上記が機能しない場合は試してください):

    NVCCFLAGS += -std=c++11
    CXXFLAGS += -std=c++11
    LINKFLAGS += -std=c++11
    
  2. C++ 98と互換性のある古いprotobuf(2.x)を使用する

関連情報