Por alguna razón, necesito usar protobuf 2.4.1 en mi proyecto en OS X El Capitan. Sin embargo, homebrew ha eliminado protobuf241 de su fórmula. Lo instalo de acuerdo con la respuesta de @ kksensei manualmente y tengo que corregir algún error durante el proceso.
Durante el proceso de creación, obtengo 3 errores como el siguiente:
google/protobuf/message.cc:130:60: error: implicit instantiation of undefined template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'
return ParseFromZeroCopyStream(&zero_copy_input) && input->eof();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:108:28: note: template is declared here
class _LIBCPP_TYPE_VIS basic_istream;
^
google/protobuf/message.cc:135:67: error: implicit instantiation of undefined template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'
return ParsePartialFromZeroCopyStream(&zero_copy_input) && input->eof();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:108:28: note: template is declared here
class _LIBCPP_TYPE_VIS basic_istream;
^
google/protobuf/message.cc:175:16: error: implicit instantiation of undefined template 'std::__1::basic_ostream<char, std::__1::char_traits<char> >'
return output->good();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:110:28: note: template is declared here
class _LIBCPP_TYPE_VIS basic_ostream;
^
(Lo siento, no sé cómo adjuntar código cuando el código contiene '' ')
Si obtiene el mismo error, edite src / google / protobuf / message.cc, agregue #include <istream>
en la parte superior del archivo y $ make
vuelva a hacerlo y no debería obtener errores. Después de eso, hazlo $ sudo make install
. Cuando finalice la instalación, $protoc --version
debería mostrar el resultado correcto.
.pb.h
y.pb.cc
.