Ich brauche Hilfe beim Erstellen von Caffe (Deep Learning) auf Ubuntu 14.04. Nach dem Ausführen des Befehls sudo make all -j4
erhalte ich einen Bericht wie diesen:
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
Was bedeutet dieser Fehler? Hier sind dieAnleitungen, die ich zum Bau verwendet habeCaffe: Da ich neu im Linux-Betriebssystem bin, freue ich mich über jeden Vorschlag zur Lösung meines Fehlers :)
Antwort1
Haben Sie Nachrichten zu c++11
oder gesehen gnu++11
?
Hier scheint ein ähnliches Problem vorzuliegen:https://github.com/BVLC/caffe/issues/6359
Lösungen sind
Aktualisieren von protobuf und Hinzufügen des Folgenden zur MAKEFILE:
CXXFLAGs += -std=c++11
Nicht sicher, ob diese Flags im MAKEFILE erforderlich sind (probieren Sie sie aus, wenn das Obige nicht funktioniert):
NVCCFLAGS += -std=c++11 CXXFLAGS += -std=c++11 LINKFLAGS += -std=c++11
Verwenden Sie ein älteres Protobuf (2.x), das mit C++ 98 kompatibel ist