一、ProtoBuf 在 window 下的安装
1.1、下载 ProtoBuf 编译器
下载地址:https://github.com/protocolbuffers/protobuf/releases
可以不⽤下载最新版本,具体的下载根据电脑情况选择。
下载之后将压缩包解压到本地⽬录下。解压后的⽂件内包含 bin、include⽂件,以及⼀个 readme.txt。
1.2、配置环境变量
把解压后⽂件中的bin⽬录配置到系统环境变量的Path中去
1.3、检查是否配置成功
打开cmd,输⼊:
protoc --version
查看版本,有显⽰说明成功
二、ProtoBuf 在 Linux 下的安装
2.1、下载 ProtoBuf
下载 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
ProtoBuf 下载地址:https://github.com/protocolbuffers/protobuf/releases
- 如果要在 C++ 下使⽤ ProtoBuf,可以选择cpp.zip
- 如果要在 JAVA 下使⽤ ProtoBuf,可以选择 java.zip;
- 其他语⾔选择对应的链接即可。
- 希望⽀持全部语⾔,选择 all.zip 。
希望⽀持全部语⾔,选择 protobuf-all-21.11.zip,右键将下载链接复制出来。 下载命令:
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all21.11.zip
下载完成后,解压zip包:
unzip protobuf-all-21.11.zip
解压完成后,会⽣成 protobuf-21.11 ⽂件,进⼊⽂件:
cd protobuf-21.11
内容如下:
ketil@8-134-127-49:~/install/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
进⼊解压好的⽂件,执⾏以下命令
# 第⼀步执⾏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.youkuaiyun.com/AlexWang30/article/details/90341172
( 建议可以先扩⼤3G,再执⾏ make check 。如果还是报错,再扩⼤到5G重新执⾏ make check )
执⾏ make check 后 ,出现以下内容就可以执⾏ sudo make install 。
到此,需要回忆⼀下在执⾏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
2.3、检查是否安装成功
输⼊ protoc --version 查看版本,有显⽰说明安装成功。
ketil@8-134-127-49:~/install/protobuf-21.11$ protoc --version
libprotoc 3.21.11
⾛到这⾥,ProtoBuf安装成功。