在 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 作業系統的新手,所以我會很高興收到每一個解決我的錯誤的建議:)

答案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)

相關內容