ProtoBuf安装及避坑指南
ProtoBuf安装及避坑指南
- 升级gcc
- 安装ProtoBuf
升级gcc
我使用的是contOS7.9
默认安装的gcc是gcc version 4.8.5
-
yum install -y centos-release-scl
-
yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++
-
ls /opt
如果能看到这个文件则安装成功
-
需要把这个gcc设置为默认的(启用这个版本)
source /opt/rh/devtoolset-8/enable
-
检查
gcc -v
升级成功
安装ProtoBuf
-
安装依赖
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
如果出现这个版本信息则安装成功