美文网首页收藏
编译protobuf

编译protobuf

作者: 晓函 | 来源:发表于2024-05-21 10:03 被阅读0次

下载

下载protobuf和cmake到目录,路径不能包含中文
protobuf

vs2015用protobuf-3.5.1
vs2022用protobuf-3.11.2以上,我用3.17.2

3.17 https://github.com/protocolbuffers/protobuf/releases/tag/v3.17.2

3.5.1: https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-all-3.5.1.zip

cmake: https://cmake.org 我用的是 https://cmake.org/files/v3.11/cmake-3.11.0-rc2-win64-x64.msi

编译

1、用camke生成vs2022的项目文件


image.png

打开vs2022的x64命令行(我这是生成64位的文件,如果需要生成32位的,打开对应32位命令行即可) ,因为里面编译参数里有一个CL链接器的数据-CMAKE_C_COMPILER,直接用命令行需要手动传入,用vs的命令行则自带这些环境变量。

image.png

使用 VS2022开发人员命令提示 进入 protobuf 的 cmake 目录

cd D:\Develop\protobuf\protobuf-3.17.2\cmake
mkdir build & cd build  
mkdir release & cd release
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../../../install ../..
image.png

2、接着用vs下面的nmake继续编译项目文件为lib和exe

nmake

nmake install
image.png image.png

ps:如果要编译debug版本,和上面一样,在build下面建立debug目录

mkdir debug & cd debug

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../../../install ../..

nmake

nmake install

编译完成后的文件


image.png

使用

nmake install生成后的文件


image.png

包含proto.exe,include文件,libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib

接下来我们要用相同版本的proto.exe把user.proto数据输出为c++文件,
把user.prot放到同目录

protoc.exe --cpp_out=.  user.proto  
image.png

如果user.proto是在其他文件夹,咱们可以创建一个bat来快速生成

echo "以下命令,会编译.proto,生成c++的文件"
D:\Projects\VC\protobuf\install\bin\protoc.exe --cpp_out=.  user.proto  
pause

把生成的数据结构文件
user.pb.cc,user.pb.h,还有proto的include和lib文件复制到你的项目中就可以了。

image.png

在项目配置中把proto加入包含目录


image.png

代码

#include "user.pb.cc"

test(){
    protoUser::User user;
    user.set_name("jack");
    printf("user:%s",user.name().c_str());

}

相关文章

  • build protobuf,交叉编译protobuf-c

    1,编译protobuf 可以在protobuf git上面找到PC上,比如ubuntu下编译protobuf的方...

  • FDBUS编译和使用

    源码下载 下载和编译protobuf fdbus的序列化使用了protobuf。 下载和编译fdbus 编译fdb...

  • 训练中的问题与解决

    一 caffe 编译问题 集合 编译caffe protobuf 未定义应用问题,是protobuf库冲突的问题...

  • protobuf编译安装

    准备知识 protobuf简介 protobuf官方编译说明 编译安装 Linux下直接按照官方文档操作即可 Ma...

  • mac中安装protobuf环境

    下载对应的protobuf编译包 下载地址:protobuf编译包下载地址找到你要下载的版本下载完解压出来 编译&...

  • Protobuf的一个链接错误

    Xcode 中编译protobuf, 编译没有问题,上层库链接protobuf库的时候报6链接错误 : 排查:函...

  • golang 使用 protobuf

    安装 protobuf 编译器 下载对应平台https://github.com/google/protobuf/...

  • 用Cmake生成protoc.exe(protobuf编译器)

    protobuf编译器可以把,proto文件编译成对应语音类型的脚本文件。编译器可以直接在Protobuf的Git...

  • 嵌入式开发中使用protobuf

    1. 编译安装protobuf工具 如果Ubuntu中缺省的protobuf工具不符合要求,则需要自己编译prot...

  • Protobuf编译

    1.下载由于现在protobuf-2.5.0.tar.gz已经无法在官网https://code.google.c...

网友评论

    本文标题:编译protobuf

    本文链接:https://www.haomeiwen.com/subject/epxafjtx.html