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/protobufgreaterThan(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.libLIBS += $$PWD/lib/vs2022_x64/debug/libprotobuf-lited.libLIBS += $$PWD/lib/vs2022_x64/debug/libprotocd.lib}else{LIBS += $$PWD/lib/vs2022_x64/release/libprotobuf.libLIBS += $$PWD/lib/vs2022_x64/release/libprotobuf-lite.libLIBS += $$PWD/lib/vs2022_x64/release/libprotoc.lib}
}else{message("32-bit")CONFIG(debug, debug|release){LIBS += $$PWD/lib/vs2022_x86/debug/libprotobufd.libLIBS += $$PWD/lib/vs2022_x86/debug/libprotobuf-lited.libLIBS += $$PWD/lib/vs2022_x86/debug/libprotocd.lib}else{LIBS += $$PWD/lib/vs2022_x86/release/libprotobuf.libLIBS += $$PWD/lib/vs2022_x86/release/libprotobuf-lite.libLIBS += $$PWD/lib/vs2022_x86/release/libprotoc.lib}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/142748.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面试八股】IP协议八股

IP协议八股 子网掩码的作用为什么IP协议需要分片IP协议什么时候需要分片IP协议是怎么进行分片的那么IP协议是如果进行标识属于同一个分片呢?TCP协议和UDP协议将数据交给IP协议之后,是否需要分片传输? 子网掩码的作用 用来标识网络号和主机号…

新媒体运营的未来:ChatGPT的智能助手

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 新媒体运营是数字时代的…

【李沐深度学习笔记】线性回归的从零开始实现

课程地址和说明 线性回归的从零开始实现p3 本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。 线性回归的从零开始实现 不使用任何深度学习框架提供的计算功能,只使用PyTorch提供的Tensor来实现线性回归…

合肥对新通过(CMMI)五级、四级、三级认证的软件企业,对新通过信息技术服务标准(ITSS)认证的软件企业,给予最高50万奖励

合肥市加快软件产业发展 推进软件名城创建若干政策实施细则 为贯彻落实《合肥市人民政府办公室关于印发合肥市加快软件产业发展推进软件名城创建若干政策的通知》(合政办〔2023〕9号)文件精神,规范政策资金管理,制定本实施细则。…

linux内网渗透

一、信息收集 主机发现: nmap -sP 192.168.16.0/24 端口探测 masscan -p 1-65535 192.168.16.168 --rate1000 开放端口如下 nmap端口详细信息获取 nmap -sC -p 8888,3306,888,21,80 -A 192.168.16.168 -oA ddd4-port目录扫描 gobuster dir…

同创永益CNBR平台——云原生时代下的系统稳定器

随着各行业数字化的快速发展,企业的业务运作、经营管理越来越依赖于云原生系统的可靠运行。信息系统服务的连续性, 业务数据的完整性、正确性、有效性会直接关系到企业的生产、经营与决策活动。一旦因自然灾害、设备故障或人为因素等引起信息数据丢失和云原生业务处…

TextSniper for Mac: 革新您的文本识别体验

你是否曾经需要从图片或扫描文档中提取文本,却苦于没有合适的工具?那么,TextSniper for Mac将是你的完美解决方案。这款文本识别工具将彻底改变你处理图像和扫描文件的方式,让你更快速、更高效地完成任务。 TextSniper for Mac 是…

Apache Hive安装部署详细图文教程

目录 一、Apache Hive 元数据 1.1 Hive Metadata 1.2 Hive Metastore 二、Metastore 三种配置方式 ​2.1 内嵌模式 ​2.2 本地模式 ​2.3 远程模式 ​三、Hive 部署实战 3.1 安装前准备 3.2 Hadoop 与 Hive 整合 3.3 远程模式安装 3.3.1 安装 MySQL 3.3.2 …

基于Matlab求解2023华为杯研究生数学建模竞赛E题——出血性脑卒中临床智能诊疗建模实现步骤(附上源码+数据)

文章目录,源码见文末下载 背景介绍准备工作:处理数据第一题:血肿扩张风险相关因素探索建模a)问题b)问题 第二题: 血肿周围水肿的发生及进展建模,并探索治疗干预和水肿进展的关联关系a&#xff0…

【yolox训练过程中遇到的问题集合】

这里写目录标题 深度学习遇到的一系列bugVScode无法激活conda1.vscode加载web 视图报错2.CUDA out of memory3.voc2007数据集中的txt文件4.object has no attribute ‘cache‘5.KeyError:model6.No module named loguru7.Python AttributeError: module ‘distutils‘ has no a…

TensorFlow入门(五、指定GPU运算)

一般情况下,下载的TensorFlow版本如果是GPU版本,在运行过程中TensorFlow能自动检测。如果检测到GPU,TensorFlow会默认利用找到的第一个GPU来执行操作。如果机器上有超过一个可用的GPU,除第一个之外的其他GPU默认是不参与计算的。如果想让TensorFlow使用这些GPU执行操作,需要将运…

R语言学习笔记

R语言学习笔记 一.准备环境二.认识控制台三.R包四.数据结构1.向量Vector1.1创建向量1.2访问向量中的数据1.3向量的循环补齐 2.矩阵matrix2.1创建矩阵2.2访问矩阵中的数据 3数组Array3.1创建数组3.2访问数组中的数据 4.数据框Dataframe4.1创建数据框4.2访问数据框中的数据 5因子…

大数据Flink(八十六):DML:Group 聚合和Over 聚合

文章目录 DML:Group 聚合和Over 聚合 一、DML:Group 聚合

【Git】Deepin提示git remote: HTTP Basic: Access denied 错误解决办法

git remote: HTTP Basic: Access denied 错误解决办法 1.提交代码的时候提示2. 原因3.解决方案 1.提交代码的时候提示 git remote: HTTP Basic: Access denied 错误解决办法 2. 原因 本地git配置的用户名、密码与gitlabs上注册的用户名、密码不一致。 3.解决方案 如果账号…

数据结构 - 泛型

目录 前言 1. 什么是泛型? 2. 为什么需要泛型? 引入泛型之前 引入泛型之后 3.泛型类 4.泛型的界限 1.上下界 2.通配符 前言 今天给大家介绍一下泛型的使用 1. 什么是泛型? 一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义…

Java高级应用——异常处理

文章目录 异常处理概念Java异常体系Error 和 Exception编译时异常和运行时异常Java异常处理的方式 异常处理 概念 异常处理是在程序执行过程中遇到错误或异常情况时的一种机制,它允许程序在错误发生时进行适当的处理,而不会导致程序崩溃或产生不可预测…

【办公自动化】用Python将PDF文件转存为图片(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【嵌入式】使用嵌入式芯片唯一ID进行程序加密实现

目录 一 背景说明 二 原理介绍 三 设计实现 四 参考资料 一 背景说明 项目程序需要进行加密处理。 考虑利用嵌入式芯片的唯一UID,结合Flash读写来实现。 加密后的程序,可以使得从芯片Flash中读取出来的文件(一般为HEX格式)不能…

rsync+inotify实时同步数据

一、相关简介 1、rsync(remote synchronize) rsync是 Liunx/Unix 下的一个远程数据同步工具,它可通过 LAN/WAN 快速同步多台主机间的文件和目录。   Linux 之间同步文件一般有两种方式,分别是 rsync 与 scp ,scp 相…

前端性能优化汇总

1.减少HTTP请求次数和请求的大小 (三大类) 文件的合并和压缩:(1)(6) 延迟加载:(3)(4) 用新的文件格式代替传统文件格式:&a…