Preciso de ajuda para construir o Caffe (aprendizado profundo) no Ubuntu 14.04. Depois de executar o comando, sudo make all -j4
recebo um relatório como este:
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
O que esse erro significa? Aqui está oinstruções que usei para construirCaffe: Como sou novo no sistema operacional Linux, ficarei feliz com cada sugestão para resolver meu erro :)
Responder1
Você viu alguma mensagem sobre c++11
ou gnu++11
?
Parece que um problema semelhante está aqui:https://github.com/BVLC/caffe/issues/6359
As soluções são
Atualizando o protobuf e adicionando o seguinte ao MAKEFILE:
CXXFLAGs += -std=c++11
Não tenho certeza se esses sinalizadores são necessários no MAKEFILE (tente-os se o procedimento acima não funcionar):
NVCCFLAGS += -std=c++11 CXXFLAGS += -std=c++11 LINKFLAGS += -std=c++11
Use um protobuf mais antigo (2.x) compatível com c++ 98