🔥个人主页: Milestone-里程碑
❄️个人专栏: <<力扣hot100>> <<C++>><<Linux>>
🌟心向往之行必能至
目录
[一、核心准备:下载 Protobuf 编译器](#一、核心准备:下载 Protobuf 编译器)
[二、Windows 系统下的安装步骤](#二、Windows 系统下的安装步骤)
[步骤 1:下载并解压安装包](#步骤 1:下载并解压安装包)
[步骤 2:配置系统环境变量](#步骤 2:配置系统环境变量)
[步骤 3:验证安装是否成功](#步骤 3:验证安装是否成功)
[三、Linux 系统下的安装步骤](#三、Linux 系统下的安装步骤)
[步骤 1:安装必备依赖库](#步骤 1:安装必备依赖库)
[步骤 2:下载并解压 Protobuf 安装包](#步骤 2:下载并解压 Protobuf 安装包)
[步骤 3:编译并安装 Protobuf](#步骤 3:编译并安装 Protobuf)
[步骤 4:处理make check编译验证报错](#步骤 4:处理make check编译验证报错)
[步骤 5:配置系统环境变量(仅自定义安装路径需要)](#步骤 5:配置系统环境变量(仅自定义安装路径需要))
[步骤 6:验证 Linux 安装是否成功](#步骤 6:验证 Linux 安装是否成功)
要使用 Protobuf 进行开发,首先需要完成Protobuf 编译器(protoc) 的安装和环境配置。protoc 是编译.proto文件的核心工具,支持 Windows、Linux、Mac 等主流系统,本文将详细讲解Windows 和Linux系统下的安装步骤,以稳定版本 v21.11 为例,确保环境搭建一次成功。
一、核心准备:下载 Protobuf 编译器
Protobuf 的官方下载地址为:https://github.com/protocolbuffers/protobuf/releases
- 无需强制下载最新版本,选择稳定版本即可(本文以 v21.11 为例);
- 根据系统类型选择对应的安装包,避免下载错误。
二、Windows 系统下的安装步骤
步骤 1:下载并解压安装包
在下载页面找到 Windows 对应的安装包:protoc-21.11-win32.zip,下载后将压缩包解压到本地任意目录(建议路径无中文、无空格,如D:\protoc-21.11)。
解压后目录包含 3 个核心内容:
bin:存放 protoc 编译器可执行文件protoc.exe;include:存放 Protobuf 的头文件,用于后续开发;readme.txt:官方说明文档。
步骤 2:配置系统环境变量
将bin目录的路径添加到系统环境变量的Path 中,让系统能全局识别protoc命令:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」;
- 在「系统变量」中找到Path,点击「编辑」;
- 点击「新建」,粘贴解压后的
bin目录路径(如D:\protoc-21.11\bin); - 依次点击「确定」,保存环境变量配置(配置后需关闭已打开的 CMD 窗口,重新打开才会生效)。
步骤 3:验证安装是否成功
- 打开新的 CMD 命令行窗口;
- 输入验证命令:
protoc --version; - 若输出
libprotoc 3.21.11(对应下载的版本),说明安装和配置成功;若提示 "不是内部或外部命令",则检查环境变量路径是否正确。
三、Linux 系统下的安装步骤
Linux 系统下的安装分为依赖库安装 、编译器下载解压 、编译安装 和环境配置四步,支持 Ubuntu 和 CentOS 主流发行版,以下步骤通用。
步骤 1:安装必备依赖库
Protobuf 的编译需要依赖autoconf、automake、libtool等工具,先通过包管理器安装:
-
Ubuntu 系统 :
bash
运行
sudo apt-get install autoconf automake libtool curl make g++ unzip -y -
CentOS 系统 :
bash
运行
sudo yum install autoconf automake libtool curl make gcc-c++ unzip -y
步骤 2:下载并解压 Protobuf 安装包
Linux 系统建议下载全语言支持包 protobuf-all-21.11.zip,也可根据开发语言选择对应包(如 C++ 选择protobuf-cpp-3.21.11.zip):
-
进入自定义的安装目录(如
/usr/local/):bash
运行
cd /usr/local/ -
通过
wget命令下载(复制安装包的下载链接):bash
运行
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip -
解压压缩包: bash
运行
unzip protobuf-all-21.11.zip -
进入解压后的目录: bash
运行
cd protobuf-21.11
步骤 3:编译并安装 Protobuf
在解压后的目录中执行以下编译命令,注意命令执行顺序不可变,部分步骤耗时较长(约 15 分钟),请耐心等待:
-
生成配置文件: bash
运行
./autogen.sh -
配置安装路径(两种方式任选其一):
-
方式 1:默认安装(文件分散在
/usr/local/bin、/usr/local/lib等目录):bash
运行
./configure -
方式 2:自定义统一安装路径(推荐,便于管理,如
/usr/local/protobuf):bash
运行
./configure --prefix=/usr/local/protobuf
-
-
编译源码: bash
运行
make -
编译验证(关键步骤,若报错需处理): bash
运行
make check -
安装编译后的文件: bash
运行
sudo make install
步骤 4:处理make check编译验证报错
执行make check时,若出现FAIL:protobuf-test错误,原因是测试用例对服务器内存要求较高,需要扩大 swap 分区:
- 参考教程扩大 swap 分区(建议先扩大 3G,若仍报错扩大到 5G):https://blog.csdn.net/AlexWang30/article/details/90341172;
- 重新执行
make check,直到输出全部 PASS (无 FAIL),再执行sudo make install。
步骤 5:配置系统环境变量(仅自定义安装路径需要)
若步骤 2 选择了自定义安装路径 ,需要将 Protobuf 的 bin、lib 等目录添加到系统环境变量,修改/etc/profile文件:
-
编辑 profile 文件: bash
运行
sudo vim /etc/profile -
在文件末尾添加以下内容(路径与自定义安装路径一致): bash
运行
# 动态库搜索路径 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/ -
保存并退出 vim(按
Esc,输入:wq); -
使环境变量立即生效: bash
运行
source /etc/profile
步骤 6:验证 Linux 安装是否成功
- 在任意目录打开终端;
- 输入验证命令:
protoc --version; - 若输出
libprotoc 3.21.11,说明安装成功。
四、安装注意事项
- 安装包版本与系统位数匹配(32 位 / 64 位),避免解压后无
protoc可执行文件; - Windows 环境变量配置后必须重启 CMD,否则命令无法识别;
- Linux 编译时确保依赖库安装完整,否则会出现配置 / 编译失败;
- 建议使用稳定版本,避免最新版本存在的兼容性问题。
下一篇博客,我们将讲解 Protobuf 的核心语法 ------proto3 的基础规范,包括.proto文件的编写规则、消息体定义、字段类型等,让大家快速上手编写第一个 Protobuf 协议文件。