第一次接触
Protobuf
,遇到了系统版本与编译文件版本不统一的情况,以优先解决问题的考虑出发,考虑先把版本统一,验证代码是否可行,之后再来研究版本更新的问题。
在Linux上安装指定版本的Protobuf(比如版本3.19.6)可以通过下载源代码并从源代码编译来完成。
-
安装依赖: 在编译Protobuf之前,确保安装了所有必要的依赖。对于大多数Linux发行版,需要安装
autoconf
、automake
、libtool
、curl
、make
、g++
和unzip
。使用以下命令安装这些依赖(以Ubuntu为例):sudo apt update sudo apt install autoconf automake libtool curl make g++ unzip
-
下载Protobuf源代码: 从Protobuf GitHub releases页面下载需要的版本的源码。例如,要下载3.19.6版本,可以使用以下命令:
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.19.6/protobuf-all-3.19.6.tar.gz
-
解压源代码: 使用以下命令解压下载的文件:
tar -zxvf protobuf-all-3.19.6.tar.gz
然后进入解压后的目录:
cd protobuf-3.19.6
-
编译和安装: 在源代码目录中,运行以下命令来配置、编译和安装Protobuf:
./configure make make check sudo make install sudo ldconfig # 刷新共享库缓存
./configure
:配置安装选项。make
:编译库和编译器。make check
:运行单元测试,确保一切正常(这一步是可选的,但建议执行)。sudo make install
:将库和二进制文件安装到默认系统位置。sudo ldconfig
:更新系统的库缓存,确保新安装的库可以被系统找到。
-
验证安装: 安装完成后,可以通过运行以下命令来验证
protoc
的版本:protoc --version
输出应该显示
libprotoc 3.19.6
,这表明已经成功安装了指定版本的Protobuf。
通过这些步骤,可以在Linux系统上安装任何指定版本的Protobuf。
如果需要安装到一个非标准的位置(例如,避免与系统库冲突),可以在./configure
步骤中添加--prefix=/your/custom/path
参数来指定安装路径。