VS2022 编译protobuf , qt 使用

一、下载源码

        protobuf: 同步 https://github.com/protocolbuffers/protobuf (gitee.com)

        下载如v3.11.2 版本

二、下载CMake

三、编译

        1、在1处选择源码目录下的cmake 目录;在2处选择一处空目录(自己随便建)

        2、点击config,选择编译器、和平台、点完成

        3、配置第一次可能失败、可以把下面勾选的只保留MSVC_STATIC_RUNTIME,

 4 、再次config ,然后generate,,

5、在输出目录下会生成工程,

6、使用2022打开工程进行编译即可

注意:若需要在Qt+MSVC开发方式下,调用protobuf的lib,那么需要修改libprotobuf工程属性,然后再编译生成lib。

“配置属性”->“C/C++”->“代码生成”->运行库,Debug版选择“/MDd”,Release版选择“/MD”,“应用”->"确定"。

参考《QT MSVC版本使用protobuf库》:https://blog.csdn.net/f1jiaziqing2/article/details/86474311

7、qt 使用: pri 的代码

# all platforms
INCLUDEPATH += $$PWD
INCLUDEPATH += $$PWD/include
INCLUDEPATH += $$PWD/include/google
INCLUDEPATH += $$PWD/include/google/protobuf

greaterThan(QT_MAJOR_VERSION,4){
        TARGET_ARCH=$${QT_ARCH}
}else{
        TARGET_ARCH=$${QMAKE_HOST.arch}
}
contains(TARGET_ARCH, x86_64){
        message("64-bit")
        CONFIG(debug, debug|release){
        LIBS += $$PWD/lib/vs2022_x64/debug/libprotobufd.lib
        LIBS += $$PWD/lib/vs2022_x64/debug/libprotobuf-lited.lib
        LIBS += $$PWD/lib/vs2022_x64/debug/libprotocd.lib
        }else{
        LIBS += $$PWD/lib/vs2022_x64/release/libprotobuf.lib
        LIBS += $$PWD/lib/vs2022_x64/release/libprotobuf-lite.lib
        LIBS += $$PWD/lib/vs2022_x64/release/libprotoc.lib
        }
}else{
        message("32-bit")
        CONFIG(debug, debug|release){
        LIBS += $$PWD/lib/vs2022_x86/debug/libprotobufd.lib
        LIBS += $$PWD/lib/vs2022_x86/debug/libprotobuf-lited.lib
        LIBS += $$PWD/lib/vs2022_x86/debug/libprotocd.lib
        }else{
        LIBS += $$PWD/lib/vs2022_x86/release/libprotobuf.lib
        LIBS += $$PWD/lib/vs2022_x86/release/libprotobuf-lite.lib
        LIBS += $$PWD/lib/vs2022_x86/release/libprotoc.lib
        }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QtProtobuf是两个不同的技术。Qt是一个跨平台的C++应用程序开发框架,而ProtobufProtocol Buffers)是一种数据序列化格式和协议,用于在不同系统之间传输结构化数据。 Qt提供了与Protobuf集成的支持,称为QtProtobufQtProtobuf为Google的Protocol Buffers提供了Qt的本地支持,使开发人员可以使用Qt元对象信息来访问Protobuf对象的字段。QtProtobuf的生成代码依赖于Qt框架,并且不依赖于其他框架。通过使用QtProtobuf开发人员可以方便地在Qt应用程序中使用Protobuf数据。 在使用QtProtobuf进行集成时,一般的流程是: 1. 下载QtProtobuf的源码。 2. 使用CMake生成Visual Studio工程。 3. 在Visual Studio中进行编译,需要包含所需的库文件和protoc.exe。 4. 根据自己的.proto文件,生成对应的.h和.cc文件。 5. 将生成的文件引入自己的工程中使用。 此外,还可以在QtProtobuf中找到一些包含了protobuf动态链接库的示例代码和演示项目,用于展示如何序列化和反序列化数据。这些库文件包括了debug和release版本,以及32位和64位版本。 总结起来,QtProtobuf可以通过QtProtobuf进行集成,使开发人员可以在Qt应用程序中方便地使用Protobuf数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [qtprotobuf:用于Qt框架的Protobuf生成器和绑定](https://download.csdn.net/download/weixin_42162216/15088981)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [QT +VS 框架下protobuf 协议使用过程(巨细无比)](https://blog.csdn.net/m0_52728507/article/details/131164739)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [protobuf3.13.0 vs2019 MSVC编译。 动态库,提供QTcreator写的demo。](https://download.csdn.net/download/always_kay/13087303)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值