全平台编译 protobuf

准备工作

GitHub:下载地址:https://github.com/google/protobuf
下载protobuf 3.6.1:https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
在这里插入图片描述
解压到英文目录下
解压到英文目录下
解压到英文目录下

(vs2015) 编译 protobuf

下载 cmake:https://cmake.org 我用的是 https://cmake.org/files/v3.11/cmake-3.11.0-rc2-win64-x64.msi
在这里插入图片描述
用vs2015打开 D:/CmakeApps/protobuf-cpp-3.6.1/protobuf-3.6.1/release/x642015中的 protobuf.sln
在这里插入图片描述
在这里插入图片描述
目录中就是生成的库
注意:如果需要使用静态库,则在使用cmake编译生产工程时需要注意
在这里插入图片描述
否则会提示MD(动态库) 与MT(静态库)不匹配

(ubuntu) 编译 protobuf

无论你是 gcc/clang/arm/aarch64 都可以用下面的方式
#在protobuf源码目录下打开终端,把gcc/g++交叉编译工具路径加入到环境变量
$export CC=<编译器绝对路径>
#例如:$export CC=/usr/bin/aarch64-linux-gnu-gcc

$export CXX=<编译器绝对路径>
#例如:$export CXX=/usr/bin/aarch64-linux-gnu-g++

$./configure --host=aarch64-linux --prefix=/home/hu/hu/aarch64-imxq-qt5.12.8/protobuf-cpp-3.6.1/bin 
$make -j4
#$make check #检查
$make install   #安装到--prefix=路径下
####安装到指定路径
#$make DESTDIR=<安装路径> install 
#例如:$make DESTDIR=/home/hu/hu/aarch64-imxq-qt5.12.8/protobuf-cpp-3.6.1/bin install 

如果出现 can not be used with making a shared object; recompile with -fPIC
则命令行调整为

$CFLAGS="-O3 -fPIC" ./configure

使用 protobuf

protobuf 使用请参考:https://blog.csdn.net/u012020854/article/details/54890507

在Windows平台编译Protobuf,你需要按照以下步骤进行操作: 1. 首先,你需要下载Protobuf的源代码。你可以从官方网站或者GitHub上找到最新版本的源代码。 2. 解压下载的源代码文件,并进入解压后的文件夹。 3. 在Windows操作系统上编译Protobuf需要使用CMake工具。你需要先安装CMake,并确保将CMake的可执行文件路径添加到系统的环境变量中。 4. 打开命令提示符(cmd)或者PowerShell,并进入到Protobuf源代码的根目录。 5. 创建一个用于构建的目录,例如"build"。 6. 进入构建目录,并执行以下命令来生成构建脚本: ``` cmake -G "Visual Studio 15 2017 Win64" .. ``` 这里使用的是Visual Studio 2017的生成器,你可以根据你的实际情况选择适合的生成器版本。 7. 执行以下命令来开始编译Protobuf: ``` cmake --build . --config Release ``` 这将会在Release模式下编译Protobuf库。 8. 编译完成后,你将会在构建目录中找到生成的Protobuf库文件(.lib文件)和头文件。你可以将这些文件添加到你的项目中,并在代码中使用Protobuf。 请注意,上述步骤仅仅是编译Protobuf库,如果你想使用Protobuf来编写和解析消息,你还需要安装相应的Protobuf编译器(protoc)并生成相应的代码文件。 希望这些步骤可以帮助你在Windows平台上成功编译Protobuf。如果你有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [protobuf编译、安装和简单使用C++(Windows+VS平台)](https://blog.csdn.net/dhl11/article/details/124748506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Windows系统编译protobuf方法及实例](https://download.csdn.net/download/dodouaj/9496099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值