Linux下protobuf保姆级安装教程

有两种安装方式,一种是通过链接安装,另一种是下载源文件安装。

我们来介绍后一种——通过源文件安装。

注意了,版本一定要安装正确,**v20开头和v3不是一个版本**。

两者最大的区别在于,v3开头的版本有autogen.sh文件,而v20开头的版本没有autogen.sh文件,所以我推荐使用v3开头的版本,当然自己也可以选择更合适的版本。

在安装过程中记得使用sudo命令,赋予管理员权限。

tar zxvf protobuf-all-3.19.4.tar.gz        //解压
cd protobuf-3.19.4/                        //进入解压目录
//检查并安装以下环境,Ubuntu使用apt-get安装,centos7环境使用yum
sudo apt-get install autoconf 
sudo apt-get install automake 
sudo apt-get install libtool
//以上安装成功后执行下面
./autogen.sh
//生成编译配置文件成功,运行配置脚本
./configure
sudo make                  //要编译很久
sudo make check            //测试
sudo make install        //安装

sudo ldconfig                //更新一些动态链接库

protoc --vertion            //在任何目录下输入这个命令,查看protoc版本,出现版本号即成功

 期间遇到的问题:

1. 执行make check

 virtual memory exhausted: Cannot allocate memory 或 c++: internal compiler ereor: killed(program cciplus)

有两种情况,一种是虚拟机,比如说vmware,那么只需要将虚拟内存从4G变成8G即可;第二种情况是服务器,比如说腾讯云服务器,那么只需要将swap分区设置为8G即可,命令如下:

# 1. 创建分区
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192   

#挂载和开启swap
sudo mkswap /swapfile
sudo swapon /swapfile

# free -m    #可以查看内存使用
 

#2. 关闭分区,在protobuf编译结束之后,可以关掉和删除swapfile
sudo swapoff /swapfile
sudo rm /swapfile

执行创建分区命令的时候有可能会遇到这个问题:dd: failed to open '/swapfile': Text file busy

那么我们只需要关闭swap分区,再重新执行创建分区的命令即可。

sudo swapoff -a 

2. protoc --version

protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory

只需要刷新动态链接库即可。

sudo ldconfig 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值