我将most recent installation instructions用于OS X的Caffe,但无法编译该软件包。我正在make all
步骤。
有人能修复吗?我正在考虑使用brew安装较旧版本的protobuf。
PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
In file included from .build_release/src/caffe/proto/caffe.pb.cc:4:
In file included from .build_release/src/caffe/proto/caffe.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:135:
/usr/local/include/google/protobuf/stubs/common.h:190:17: error: expected expression
OnShutdownRun([](const void* pp) { delete static_cast<const T*>(pp); }, p);
^
In file included from .build_release/src/caffe/proto/caffe.pb.cc:4:
In file included from .build_release/src/caffe/proto/caffe.pb.h:26:
In file included from /usr/local/include/google/protobuf/generated_message_table_driven.h:34:
In file included from /usr/local/include/google/protobuf/map.h:49:
In file included from /usr/local/include/google/protobuf/map_type_handler.h:35:
In file included from /usr/local/include/google/protobuf/wire_format_lite_inl.h:45:
/usr/local/include/google/protobuf/message_lite.h:136:3: error: unknown type name 'constexpr'
constexpr const T& get() const { return reinterpret_cast<const T&>(union_); }
^
/usr/local/include/google/protobuf/message_lite.h:136:13: error: expected member name or ';' after declaration specifiers
constexpr const T& get() const { return reinterpret_cast<const T&>(union_); }
~~~~~~~~~ ^
/usr/local/include/google/protobuf/message_lite.h:129:11: error: use of undeclared identifier 'union_'
new (&union_) T();
^
/usr/local/include/google/protobuf/message_lite.h:133:5: error: use of undeclared identifier 'get_mutable'
get_mutable()->~T();
^
/usr/local/include/google/protobuf/message_lite.h:150:45: error: found '<::' after a template name which forms the digraph '<:' (aka '[') and a ':', did you mean '< ::'?
PROTOBUF_EXPORT extern ExplicitlyConstructed<::std::string>
^
/usr/local/include/google/protobuf/message_lite.h:155:37: error: no member named 'get' in 'google::protobuf::internal::ExplicitlyConstructed<std::__1::basic_string<char> >'
return fixed_address_empty_string.get();
~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/usr/local/include/google/protobuf/message_lite.h:513:3: error: unknown type name 'constexpr'
constexpr bool alias = flags & kMergeWithAliasing;
^
/usr/local/include/google/protobuf/message_lite.h:513:13: error: expected unqualified-id
constexpr bool alias = flags & kMergeWithAliasing;
^
/usr/local/include/google/protobuf/message_lite.h:514:41: error: use of undeclared identifier 'alias'
return internal::MergePartialFromImpl<alias>(input, this) &&
^
In file included from .build_release/src/caffe/proto/caffe.pb.cc:4:
In file included from .build_release/src/caffe/proto/caffe.pb.h:26:
In file included from /usr/local/include/google/protobuf/generated_message_table_driven.h:34:
In file included from /usr/local/include/google/protobuf/map.h:49:
In file included from /usr/local/include/google/protobuf/map_type_handler.h:35:
In file included from /usr/local/include/google/protobuf/wire_format_lite_inl.h:46:
/usr/local/include/google/protobuf/repeated_field.h:130:39: error: expected ';' at end of declaration list
RepeatedField(RepeatedField&& other) noexcept;
^
/usr/local/include/google/protobuf/repeated_field.h:131:50: error: expected ';' at end of declaration list
RepeatedField& operator=(RepeatedField&& other) noexcept;
^
/usr/local/include/google/protobuf/repeated_field.h:787:45: error: expected ';' at end of declaration list
RepeatedPtrField(RepeatedPtrField&& other) noexcept;
^
/usr/local/include/google/protobuf/repeated_field.h:788:56: error: expected ';' at end of declaration list
RepeatedPtrField& operator=(RepeatedPtrField&& other) noexcept;
^
/usr/local/include/google/protobuf/repeated_field.h:1097:68: error: expected ';' at end of declaration
inline RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
^
/usr/local/include/google/protobuf/repeated_field.h:1097:69: error: unknown type name 'noexcept'
inline RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
^
/usr/local/include/google/protobuf/repeated_field.h:1098:5: error: expected unqualified-id
: RepeatedField() {
^
/usr/local/include/google/protobuf/repeated_field.h:1110:27: error: expected ';' at end of declaration
RepeatedField&& other) noexcept {
^
/usr/local/include/google/protobuf/repeated_field.h:1110:28: error: C++ requires a type specifier for all declarations
RepeatedField&& other) noexcept {
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [.build_release/src/caffe/proto/caffe.pb.o] Error 1