VS2022 编译protobuf , qt 使用

news2024/11/24 6:49:29

一、下载源码

        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
        }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL超入门(1)__迅速上手掌握MySQL

# 1.选择语句 # 注意事项:MySQL不区分大小写,SELECT * 代表选择全部 // 测试一 USE sql_store; -- 使用 sql_store库 SELECT * FROM customers -- 查询customers表 WHERE customer_id 1 OR customer_id 4 -- 条件判断为customer_id 1或customer_id …

vue 非父子通信 拓展 -- provide inject 跨层级共享数据

vue 非父子通信 拓展 – provide inject provide inject 作用: 跨层级共享数据 例子是啥样的? 创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门…

Linux(CentOS/Ubuntu)——安装nginx

如果确定你的系统是基于CentOS或RHEL,可以使用以下命令: ①、安装库文件 #安装gcc yum install gcc-c#安装PCRE pcre-devel yum install -y pcre pcre-devel#安装zlib yum install -y zlib zlib-devel#安装Open SSL yum install -y openssl openssl-de…

CTF_BUUCTF_Reverse解题_02reverse1

题目地址:BUUCTF在线评测 下载文件解压后打开exe: 输入任何东西之后都是闪退的 直接PE 64位C没加壳 再来IDA 64 找到地方F5直接看: strncmp比较 Str1和 Str2前v2的值,如果Str1Str2,返回0;大于返回正数&a…

ITSM有哪些好用的软件?

ITSM知名软件有很多,但好用且性价比高的仅有一些,比如: 1.Atlassian Jira 最初,开发人员创建Jira来跟踪软件创建,但随后Atlassian的管理层注意到一些团队正在调整Jira来处理服务台请求 2.Spiceworks Spiceworks是一款免…

Linux系统-Ubuntu的下载和安装

第一章 Linux系统-Ubuntu的下载和安装 1.下载Ubuntu ​ 进入https://cn.ubuntu.com/download中文官网下载iso映像文件: 2.安装Ubuntu 1.打开虚拟机,点击创建新的虚拟机: 2.选择“典型”,然后点击“下一步”: 3.选择…

150347-59-4;可穿透细胞膜的荧光染料CFDA, SE

产品简介:CFSE (5,6-carboxyfluorescein diacetate succinimidy ester)即羟基荧光素二醋酸盐琥珀酰亚胺脂,是一种可穿透细胞膜的荧光染料,具有与细胞特异性结合的琥珀酰亚胺脂基团和具有非酶促水解作用的羟基荧光素二醋酸盐基团,这…

【剑指Offer】55.二叉树的深度

题目 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。 数据范围:节点的数量满足 0≤n≤100 ,…

jenkins联动显示或隐藏参数

1. 添加组件 Active Choices Plug-in 如jenkins无法联网,可在以下两个地址中下载插件,然后放到/home/jenkins/.jenkins/plugin下面重启jenkins即可 Active Choices Active Choices | Jenkins plugin 2. 效果如下: sharding为空时,sharding_info和copy_info不显示 shard…

易点易动固定资产管理系统:精准管理与科学采购,降本增效的利器

在现代企业管理中,固定资产的精准管理和科学采购已成为提升企业效率和降低成本的重要环节。为了满足企业管理的需求,我们自豪地介绍易点易动固定资产管理系统,这是一款功能强大的软件解决方案,旨在帮助企业实现固定资产的精准管理…

AI数字人导览,为各行各业带来全新VR云上服务体验

纵观历届大型运动会的开幕式,开头点火的环节总是备受期待的,那么你见过亚运会的点火环节了吗?一个巨大的数字人手持火炬,穿越了钱塘江的江面,一路奔向主会场,同现场火炬手一同点燃主火炬,这一刻…

详解SPI

引言 串行外设接口(Serial Peripheral Interface,简称SPI)是一种常见且广泛应用于电子系统中的通信协议。作为一种高效可靠的串行通信技术,SPI总线在电气工程和计算机系统领域扮演着至关重要的角色。它不仅在微控制器和外设之间实…

【EI会议征稿】第三届电子信息工程与计算机通信国际学术会议(EIECC 2023)

第三届电子信息工程与计算机通信国际学术会议(EIECC 2023) 2023 3rd International Conference on Electronic Information Engineering and Computer Communication 第三届电子信息工程与计算机通信国际学术会议(EIECC 2023)将…

Hangfire IIS持续运行配置

官方指导文档: https://docs.hangfire.io/en/latest/deployment-to-production/making-aspnet-app-always-running.html 附录: 应用程序池 配置 : 应用程序池 高级设置: 网站高级设置 配置编辑器

oracle TNS Listener 远程投毒漏洞修复

有个客户在等保测评过程,测评公司扫出一个关于oracle的漏洞如下: 客户是RAC环境11.2.0.4,在生产修复漏洞前我做了如下测试验证: 测试环境准备: RAC一套11.2.0.4 实例名dbserver [oraclehisdb1 ~]$ cat /etc/hosts …

【深度分析】智慧燃气及其发展方向

关键词:智慧燃气、智能管网、智慧燃气系统、智能燃气、智慧燃气建设、智慧燃气平台 随着最近几年燃气产业的不断扩大和管理理念的持续更新,如何能够提升管理水平和管理效率,就成为燃气企业需要重点解决的问题。智慧燃气的提出,使…

【JVM】类加载

类加载 一. 加载 Loading二. 连接 Linking1. 验证 Verification2. 准备 Preparation3. 解析 Resolution 三. 初始化 Initialization 类加载是运行时环境的一个重要核心功能。 类加载的主要功能:把 .class 文件加载到内存中构建成为类对象。 什么时候会进行类加载呢…

9月第4周榜单丨哔哩哔哩飞瓜数据B站UP主排行榜发布!

飞瓜轻数发布2023年9月18日-9月24日飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数、带货数据等维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营能…

docker openjdk:8-jdk-alpine 修改时区、添加字体

新建Dockerfile文件,制作新镜像 FROM openjdk:8-jdk-alpine 1、解决字体问题 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 2、解决时差问题 # 解决时差8小时问题ENV TZAsia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /et…

Mybatisplus条件构造器

一、Wrapper介绍 Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装AbstractLambdaWrapper…