QT集成Protobuf

news2024/11/18 21:40:44

1.定义protobuf

package ImageRender;

message MessagePadding
{
  required int32 left = 1;
  required int32 top = 2;
  required int32 right = 3;
  required int32 bottom = 4;
}

2.通过protoc.exe编译proto文件
一般可以写一个bat来执行命令:

%~d0
cd %~p0

rem The following adds the paths of both tf.exe and MsBuild.exe.
set PATH="E:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd";C:\Windows\Microsoft.NET\Framework\v4.0.30319;%PATH%

rem generate cpp code
"./protoc.exe"  --proto_path =./  --cpp_out=../ProtoInclude  ./xxxxx.proto

pause

错误解决

  1. 找不到生成的.h头文件
#设置pb生成的文件目录
set(PROJECT_PROTO_DIR ${PROJECT_SOURCE_DIR}/ProtoInclude)
message(STATUS "PROJECT_PROTO_DIR is ${PROJECT_PROTO_DIR}")

#定义头文件需要寻址的路径
include_directories(
        XXXXX
        ${PROJECT_PROTO_DIR}
        XXXXX
)
  1. 编译过程中出现LINK2019的问题:
    在这里插入图片描述

解决:
需要加入依赖的lib【libprotobuf64与libprotobuf-lite】,并把自动生成的cc文件引入到项目。

set(PB_CC_FILES
    ${PROJECT_SOURCE_DIR}/ProtoInclude/xxxxx.pb.cc
)

#把目录src和inc下面的所有文件作为变量存储
file(GLOB_RECURSE SRC_FILES "src/*")
file(GLOB_RECURSE INC_FILES "include/*")

add_executable(DemoApp1 ${SRC_FILES} ${INC_FILES} ${PB_CC_FILES})
target_link_libraries(DemoApp1
         XXXXX
        libprotobuf64
        libprotobuf-lite
)

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

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

相关文章

OD(13)之Mermaid饼图和象限图

OD(13)之Mermaid饼图和象限图使用详解 Author: Once Day Date: 2024年2月29日 漫漫长路才刚刚开始… 全系列文章可参考专栏: Mermaid使用指南_Once_day的博客-CSDN博客 参考文章: 关于 Mermaid | Mermaid 中文网 (nodejs.cn)Mermaid | Diagramming and charting tool‍‌⁡…

[云原生] K8s之pod进阶

一、pod的状态说明 (1)Pod 一直处于Pending状态 Pending状态意味着Pod的YAML文件已经提交给Kubernetes,API对象已经被创建并保存在Etcd当中。但是,这个Pod里有些容器因为某种原因而不能被顺利创建。比如,调度不成功(…

Sora 原理与技术实战笔记一

b 站视频合集 【AIX组队学习】Sora原理与技术实战:Sora技术路径详解 Sora 技术报告(OpenAI) huggingsd 文生图视频系列的一个开源项目 最强视频生成模型Sora相关技术解析 惊艳效果: 长视频高清视频融合能力同一场景的多角度/镜头…

C++ 之LeetCode刷题记录(三十六)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 目标:执行用时击败90%以上使用 C 的用户。 16. 最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你…

Linkedln领英账号限制问题|通过代理IP安全使用Linkedln

LinkedIn是跨境外贸必备的拓客工具,世界各地的许多专业人士都使用领英来作为发布和共享内容的主要工具,这使得它成为跨境出海必备的渠道工具。 但是不少做外贸的朋友都知道,领英账号很容易遭遇限制封禁,但如果善用工具&#xff0…

力扣262 行程和用户

如何计算特定时间段内非禁止用户的出租车行程取消率。这个问题可以通过SQL查询来解决,我们需要关联Trips表和Users表来筛选出符合条件的行程记录,并计算取消率。 目录 题目描述 思路整理 完整代码及解释 题目描述 表:Trips -----------…

flutterrow换行,2024年最新Android面试点梳理

计划 以人为镜可以明得失, 看到了自己的不足就要针对性地做一些改变. 以下思路转变要切记: 1.核心思想, 从项目出发, 打牢基础, 逐步深入; 2.上班期间不再惦记其他知识的学习, 专心研究项目上需要的知识/碰见的问题, 否则只会三心二意, 项目上的技术点做不深入, 其他知识点也…

电子科技大学课程《计算机网络系统》(持续更新)

前言 本校的课程课时有所缩减,因此可能出现与你学习的课程有所减少的情况,因此对其他学校的同学更多的作为参考作用。本文章适合学生的期中期末考试,以及想要考研电子科技大学的同学,电子科技大学同学请先看附言。 第一章 计算…

数据结构-----再谈String,字符串常量池,String对象的创建、intern方法的作用

文章目录 1.字符串常量池1.1. 创建对象的思考2.2. 字符串常量池(StringTable)1.3. 再谈String对象创建1.4. intern方法 1.字符串常量池 1.1. 创建对象的思考 下面两种创建String对象的方式相同吗? public static void main(String[] args) {String s1 "hel…

HQL,SQL刷题,尚硅谷

目录 相关表数据: 题目及思路解析: 查询结果排序&分组指定条件 1、查询学生的总成绩并按照总成绩降序排序 2、按照如下格式显示学生的语文、数学、英语三科成绩,没有成绩的输出为0,按照学生的有效平均成绩降序显示 3、查询一…

IntelliJ IDEA 使用 spring Initializr 快速搭建 spring boot 项目遇到的坑

maven使用的是3.5.3 一、创建SpringBoot 二、项目创建成功,启动右键,没有run方法 三、在pom.xml上右键,将其添加为maven项目,然后发现Test模块报错 四、查看pom.xml文件,发现2.3.5Release版本变红,怀疑是版…

github-actions

文章目录 workflow触发器action市场contextsecrets 默认环境变量 workflow name: {{workflow name}} run-name: {{workflow runs name}}on: {{触发器}} #[push]env:{{定义workflow变量}}: valuejobs:{{job name}}:runs-on: {{运行机器}} #ubuntu-latestenv:{{定义job变量}}: v…

react使用@reduxjs/toolkit和react-redux实现store状态管理

一、概述 reduxjs/toolkit和react-redux是用于在React应用中管理全局状态的工具库 1、reduxjs/toolkit: reduxjs/toolkit是Redux官方推荐的工具库,是对 Redux 的二次封装,它提供了一些便捷的API和工具,帮助开发者更快速地编写R…

JavaWeb之 创建 Web项目,使用Tomcat 部署项目,使用 Maven 构建Web项目(一万八千字详解)

目录 前言3.1 Tomcat 简介3.1.1 什么是 Web服务器3.1.2 Tomcat 是什么3.1.3 小结 3.2 Tomcat 的基本使用3.2.1 下载 Tomcat3.2.2 安装 Tomcat3.2.3 卸载 Tomcat3.2.4 启动 Tomcat3.2.5 关闭 Tomcat3.2.6 配置 Tomcat3.2.7 在 Tomcat 中部署 Web项目 3.3 在 IDEA 中创建 Web 项目…

04 Opencv图像操作

文章目录 读写像素修改像素值Vec3b与Vec3F灰度图像增强获取图像通道bitwise_not 算子对图像非操作 读写像素 读一个GRAY像素点的像素值(CV_8UC1) Scalar intensity img.at(y, x); 或者 Scalar intensity img.at(Point(x, y)); 读一个RGB像素点的像素值…

Java图书管理系统---命令行

项目列表 Book包 Book类内包含book的基本属性 BookList类初始化图书列表并且提供图书的属性方法 User包 Administrator类 common类 operator包 功能接口 新增图书功能 借阅图书功能 删除图书功能 显示图书功能 查找图书功能 归还图书功能 结束释放资源功能 运行…

排序(1)

目录 1 排序的概念及其应用 1.1 排序的概念 1.2 排序的应用 1.3 常见的排序算法 2 直接插入排序 2.1 基本思想 2.2 基本思路 2.3 代码实现 2.4 时间复杂度 3 冒泡排序(回顾) 3.1 思路分析 3.2 时间复杂度 4 比较 1 排序的概念及其应用 1.…

[分类指标]准确率、精确率、召回率、F1值、ROC和AUC、MCC马修相关系数

准确率、精确率、召回率、F1值 定义: 1、准确率(Accuracy) 准确率是指分类正确的样本占总样本个数的比例。准确率是针对所有样本的统计量。它被定义为: 准确率能够清晰的判断我们模型的表现,但有一个严重的缺陷&…

双指针问题(Java编写)

日升时奋斗,日落时自省 目录 一、移动零 二、盛水最多的容器 三、快乐数 四、复写零 五、三数之和 六、有效三角形的个数 七、四数之和 一、移动零 题目来源:. - 力扣(LeetCode) 题目主要内容就是将数组中所有的零移动到…

解决VSCode 不能拖拽文件问题

给【以管理员身份运行次程序】关掉,不要打勾 至于为什么开启了管理员就不能拖拽了,我也不知道,我猜的: 这可能是因为在VSCode中,管理员权限可能会限制用户对文件的操作权限。管理员权限对于一些操作可能会有更严格的限…