ProtoBuf安装及避坑指南

2025-09-26 20:11:44

安装依赖

sudo yum install autoconf automake libtool curl make gcc-c++

默认需要安装这些,按需安装

我的是需要这些 sudo yum install autoconf automake libtool -y

找到相对应的版本

ProtoBuf下载地址:https://github.com/protocolbuff

我下载的是3.21.12https://github.com/protocolbuffers/protobuf/releases/tag/v21.12

wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-all-21.12.tar.gz

如果慢的话先下载到本地在上传到服务器

如果下载的.tar.gz结尾的包

tar -zxvf protobuf-all-21.12.tar.gz

如果下载的是.tar结尾的包

tar -xf protobuf-all-21.12.tar

进入到protobuf-all-21.12

cd protobuf-21.12/

如果下的的某一版本(不执行下面这一步,我下载的是全部版本需要执行这一步)

./autogen.sh

开始编译

指定安装的位置

./configure --prefix=/usr/local/protobuf

这个是指定位置,我是放到/usr/local/protobuf下

开始编译

make 编译的时间很慢

sudo make install

检查

cd /usr/local/protobuf/bin

如果能看到他的版本则,安装成功

添加到环境变量

sudo vim /etc/profile

# 添加内容如下:

#(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/

#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/

#执⾏程序搜索路径

export PATH=$PATH:/usr/local/protobuf/bin/

#c程序头⽂件搜索路径

export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/

#c++程序头⽂件搜索路径

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/

#pkg-config 路径

export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

source /etc/profile

检查

protoc --version

libprotoc 3.21.12

如果出现这个版本信息则安装成功