升级到OSX mavericks后,运行 make
在my mesos build目录中,将导致错误:
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;
我从一个干净的构建目录开始,重新运行 ./bootstrap
,然后跑了 cd build && ../configure
.
2条答案
按热度按时间iecba09b1#
OSX小牛取代了
gcc
叮当作响的命令:不过,mesos目前希望使用gnu编译器集合进行编译。您需要用自制软件安装GCC4.7,并配置您的生成目录以使用它。当然,从一个空的生成目录开始:
那你就可以跑了
make
像以前一样。3npbholx2#
适用于那些在google搜索其他依赖于google旧版本的软件抛出的错误消息时发现此页面的用户
protobuf
图书馆,这里有另一个解决方案:修改文件
src/google/protobuf/message.cc
再加一行#include <iostream>
在开头的评论块之后,就在所有其他评论块之前#include
线。这一行的改动就足够让我编译了protoc
从protobuf-2.4.1
在el capitan mac上使用xcode 7.3中的命令行工具。