目录
1. ProtoBuf 在 window 下的安装
1.1 下载 ProtoBuf 编译器
(1)下载地址:https://github.com/protocolbuffers/protobuf/releases
- 可以不用下载最新版本,这里以 v21.11 为例,具体的下载根据自己电脑情况选择。
(2)下载之后将压缩包解压到本地目录下。解压后的文件内包含 bin、include文件,以及一个readme.txt。
1.2 配置环境变量
(1)把解压后文件中的bin目录配置到系统环境变量的Path中去:
(2)检查是否配置成功:
- 打开cmd,输入:
protoc --version
- 查看版本,有显示说明成功。
- 到这步,恭喜你 ProtoBuf 安装成功!!!
2. ProtoBuf 在 Linux 下的安装
2.1 下载 ProtoBuf
(1)下载 ProtoBuf 前⼀定要安装依赖库:autoconf automake libtool curl make g++ unzip 。如未安装,安装命令如下:
- Ubuntu 用户选择:
sudo apt-get install autoconf automake libtool curl make g++ unzip -y
- CentOS 用户选择:
sudo yum install autoconf automake libtool curl make gcc-c++ unzip
(2)ProtoBuf 下载地址:https://github.com/protocolbuffers/protobuf/releases
- 可以不用下载最新版本,这里以 v21.11 为例,具体的下载根据自己电脑情况选择。
- 如果要在 C++ 下使用 ProtoBuf,可以选择cpp.zip ;
- 如果要在 JAVA 下使用 ProtoBuf,可以选择 java.zip;
- 其他语言选择对应的链接即可。
- 希望支持全部语言,选择 all.zip 。
(3)在这里我们希望支持全部语言,所以选择 protobuf-all-21.11.zip,右键将下载链接复制出来。 下载命令:
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip
- 下载完成后,解压zip包:
unzip protobuf-all-21.11.zip
- 解压完成后,会生成 protobuf-21.11 文件,进入文件:
cd protobuf-21.11
- 内容如下:
[xiaomaker@xiaomaker-virtual-machine:protobuf-21.11]$ ls
aclocal.m4 config.sub LICENSE
Protobuf.podspec
ar-lib configure ltmain.sh
protobuf_release.bzl
autogen.sh configure.ac m4
protobuf_version.bzl
benchmarks conformance Makefile.am
python
BUILD.bazel CONTRIBUTORS.txt Makefile.in
README.md
build_defs csharp
maven_install.json ruby
build_files_updated_unittest.sh depcomp missing
src
CHANGES.txt editors objectivec
test-driver
cmake examples php
third_party
CMakeLists.txt generate_descriptor_proto.sh protobuf.bzl
update_file_lists.sh
compile global.json
protobuf_deps.bzl util
config.guess install-sh protobuflite.pc.in WORKSPACE
config.h.in java protobuf.pc.in
2.2 安装 ProtoBuf
(1)进入解压好的文件,执行以下命令:
# 第⼀步执⾏autogen.sh,但如果下载的是具体的某⼀⻔语⾔,不需要执⾏这⼀步。
./autogen.sh
# 第⼆步执⾏configure,有两种执⾏⽅式,任选其⼀即可,如下:
# 1、protobuf默认安装在 /usr/local ⽬录,lib、bin都是分散的
./configure
# 2、修改安装⽬录,统⼀安装在/usr/local/protobuf下
./configure --prefix=/usr/local/protobuf
- 再依次执行:
make // 执⾏15分钟左右
make check // 执⾏15分钟左右
sudo make install
- 有可能会在 make check 出现错误,例如:
-
出现以上错误的原因是test的模块里面有非常多的测试用例,这些用例对服务器环境要求特别严格,需要增大下swap分区,具体操作可参考:https://blog.csdn.net/AlexWang30/article/details/90341172
-
建议可以先扩大3G,再执行 make check 。如果还是报错,再扩大到5G重新执行 makecheck。
-
执行 make check 后 ,出现以下内容就可以执行 sudo make install。
(2)到此,需要你回忆⼀下在执行configure时,如果当时选择了第⼀种执行方式,也就是 ./configure ,那么到这就可以正常使用protobuf了。如果选择了第二种执行方式,即修改了安装目录,那么还需要在/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/
- 最后一步,重新执行 /etc/profile 文件:
source /etc/profile
(3)检查是否安装成功:
- 输入 protoc --version 查看版本,有显示说明安装成功。
[xiaomaker@xiaomaker-virtual-machine:protobuf-21.11]$ protoc --version
libprotoc 3.21.11
- 到这步,恭喜你 ProtoBuf 安装成功!!!