Мне нужна помощь в создании Caffe (глубокое обучение) на Ubuntu 14.04. После выполнения команды 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, я буду рад каждому предложению, чтобы исправить мою ошибку:)
Вы видели какие-либо сообщения о c++11
или gnu++11
?
Похож на подобную проблему, здесь: https://github.com/BVLC/caffe/issues/6359
Решения
Обновление protobuf и добавление следующего к MAKE-ФАЙЛУ:
CXXFLAGs += -std=c++11
Не уверенный, если эти флаги требуются в MAKE-ФАЙЛЕ (пробуют их, если вышеупомянутое не работает):
NVCCFLAGS += -std=c++11
CXXFLAGS += -std=c++11
LINKFLAGS += -std=c++11
Используйте более старый protobuf (2.x), который является C++ 98 совместимых