Windows下安装
下载地址:
Releases · protocolbuffers/protobuf
我这里安装的是21.11版本的:
Release Protocol Buffers v21.11 · protocolbuffers/protobuf
这是一些提供的选项,win32 /win64
查看电脑是32 还是64位系统的,安装对应的
解压后打开是这样:
我们需要的是bin目录下的
然后把这个目录配置到系统环境变量中:
我这里是 G:\protobuf\protoc-21.11-win64\bin
打开环境变量:
找到Path后点编辑:
新建一条路径,把刚刚的路径复制过来
然后点三个确定就好了
验证
打开cmd,输入protoc --version
能看到版本号就成功了
Linux-ubuntu下安装
下载protobuf前要安装依赖库:
Ubuntu下命令:
sudo apt-get install autoconf automake libtool curl make g++ unzip -y
下载:
这里下载all (表示支持所有语言,下面有分别支持其他单种语言的版本)。
复制链接即可:
https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip
在服务器上输入wget 然后粘贴刚刚的链接
现在就开始下载了。
解压这个包:
里面就是protobuf的一些源码
然后执行一下(如果安装的是具体的一门语言就不用执行这一步,如果是按照上面我链接就是安装的all,就跟着执行)
./autogen.sh
第二步,执行:
./configure --prefix=/usr/local/protobuf
./configure --prefix=/usr/local/protobuf(修改安装目录,安装到/usr/local/protobuf下)
./configure (默认安装到/usr/local目录下 , lib、bin都是分散的)
执行完后可以看到makefile文件,就能直接编译了
依次执行
make
make check
sudo make install
前两个命令编译的时间比较久,大概每个15分钟左右
make:
make check:
出现上述错误是因为test的模块里有很多测试用例,这些测试用例对服务器环境要求比较严格,需要增大下swap分区
可以尝试先扩大到3G,再执行make check。如果还保存就扩大到5G再执行
sudo swapon --show
sudo fallocate -l 5G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
我设置3G没有成功,继续设置5G的
5G的还是没有成功
我先直接安装,这里是测试用例有一个没通过,如果后续遇到问题再解决。
出现这个就是成功了。
sudo make install
由于我们刚刚修改了./configure的安装目录,所以要在 /etc/profile 中添加一些配置:
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
安装成功了