GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 检查期间编译时协议缓冲区错误
Protocol Buffer Error on compile during GOOGLE_PROTOBUF_MIN_PROTOC_VERSION check
我目前收到一个错误,它指出了 protoc 生成的头文件中的这些行:
#if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif
但我的 protoc 版本与上面的版本匹配:
protoc --version
libprotoc 2.6.1
我做错了什么?
最初我的 protoc 版本是 3.0.0,然后通过同步回 2.6.1 并执行这些步骤重新安装它; make distclean, ./configure , make, make install 安装所需的 2.6.1 版本。我需要旧版本,因为那是我们服务器中安装的版本。
问题是您系统上安装的 headers(在 /usr/include/google/protobuf 或 /usr/local/include/google/protobuf 中)来自比您的 protoc
更新的 Protocol Buffers 版本。可能是您将两个版本安装在不同的位置,并且使用了错误的版本。
But my protoc version matches the one above:
是的,因为该代码是由您的 protoc
生成的,并且它知道自己的版本。代码要求:"Is my version (2006001) less than the minimum version which the installed headers claim is required (GOOGLE_PROTOBUF_MIN_PROTOC_VERSION)?"
我目前收到一个错误,它指出了 protoc 生成的头文件中的这些行:
#if 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif
但我的 protoc 版本与上面的版本匹配:
protoc --version
libprotoc 2.6.1
我做错了什么?
最初我的 protoc 版本是 3.0.0,然后通过同步回 2.6.1 并执行这些步骤重新安装它; make distclean, ./configure , make, make install 安装所需的 2.6.1 版本。我需要旧版本,因为那是我们服务器中安装的版本。
问题是您系统上安装的 headers(在 /usr/include/google/protobuf 或 /usr/local/include/google/protobuf 中)来自比您的 protoc
更新的 Protocol Buffers 版本。可能是您将两个版本安装在不同的位置,并且使用了错误的版本。
But my protoc version matches the one above:
是的,因为该代码是由您的 protoc
生成的,并且它知道自己的版本。代码要求:"Is my version (2006001) less than the minimum version which the installed headers claim is required (GOOGLE_PROTOBUF_MIN_PROTOC_VERSION)?"