Qt 跨平台开发的一丢丢总结

头图

Qt 跨平台开发

文章目录

  • Qt 跨平台开发
    • 摘要
    • 第一 ` \ & /`
    • 第二 神奇`{`不能换行显示
    • 第三 预处理宏

关键字: QtwinlinuxlibMSVC

摘要

最近一直在琢磨Qt跨平台开发的问题,缘由有以下几个,

首先第一个,我们目前开发的软件是应该通用性的软件,所以未来应该大概率是会多平台支持。

第二,软件的特性是属于监控类软件,那么长期稳定运行也是一个重要的指标,虽然现在Windows的稳定性已经很好了,但是Linux可以更胜一筹。

第三,我司目前的主力技术更加精通Linux下的开发,当我们遇到问题是,他们在Windows下的经验不是很多,比如对于崩溃事件的定位,Windows下尝试了好几个工具都不理想,所以他们更希望有Linux下的软件

第四,多点一点技能树也挺好。

第一 \ & /

看到这个是不是很头疼,这是我遇到的第一个问题,直接导致我放弃了第一次移植,虽然之前也是Linux 有过开发经验,但是在基本都是单平台的,要么Windows,要么Linux,那么如果在Windows用的是MinGW套件也好说,主要是们有好几个大牛直接嫌弃MinGW的性能,加上开始项目不是我自己主导,所以我们的编译环境是MSVC套件。这就导致我在移植的时候,更加困难,不过好在之前做过国际化了,把项目中的中文全部替换了,不然更是灾难。说正事。

起因就是我发现我代码使用git在Linux平台拉取后,不分文件丢失,但是重新添加又会好使,这就让我很烦,数百个文件,让小弟处理不放心,主程处理浪费资源。自己处理又不想搞。所以第一次就搁置了。

知道今天,我主导的第二代重构项目要决定必须两个平台同时开进,不得不处理时才发现这个可恶的\ & / Windows下这个好像并不是很敏感,可以混着用,但是到Linux 就不可以了,最终吧pro 和pri中的\替换为/就好是了

第二 神奇{不能换行显示

还是接着聊跨平台,既然都到跨平台了,那在不同平台下,包含的库也是不同的,当我使用一下代码包我的库文件的是时候,还是报错了。具体表现是什么,就是Windows竟然链接到了unix中的库文件,直接包找不到xxxx.lib,能在linux库中只掉.lib库就见鬼了。

win32
{}
unix:!macx
{}

这个问题我问了GPT,GPT都得懵逼,所以我就直接百度,批量打开,偶然间看到一个大佬说{不能单起一行,和关键字同一行解决,FFFFFFF,学艺不精!

第三 预处理宏

这个没啥好说的,使用宏包一下就可以,只是我看Qt里面有好几个,也知道具体啥区别,目前Windows下使用了Q_OS_WIN


博客签名2021

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

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

相关文章

几种比Serv-u更好满足企业的替代工具方案

很多目前企业面临的挑战是如何在保障数据安全的同时,提高文件传输的效率。传统的FTP服务器,如Serv-U,虽然长期服务于文件共享与传输,但在新兴需求面前显得力不从心。 于是企业开始寻求更先进的解决方案以应对跨地域、大容量的文件…

Vue 3中的ref和toRefs:响应式状态管理利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【图说】VMware Ubuntu22.04 详细安装教程

前言 无论是从事 Linux 开发工作,还是希望电脑运行双系统,VMware 虚拟机都是我们日常工作不可或缺的工具。本章将会重点介绍 VMware 安装流程,以及在 VMware 上如何运行、使用 Ubuntu22.04 系统。 一、VMware 下载安装 1.1 VMware 官网下载…

【Hello算法】 > 第 3 关 >栈与队列

数据结构 之 数组与链表 1 栈 / 栈的常见操作、实现、应用2 队列 /队列的常见操作、实现、应用3 双向队列4 Tips ———————————————————————————————————————————————————————————- ————————————————…

鼠标坐标传感器FCT3065

参考链接 如何优雅的DIY鼠标? | 技术文章 | 汇顶科技开发者社区 (goodix.com)https://developers.goodix.com/zh/bbs/blog_detail/bebdd04ccdfc4f7682ab27a8e77a14ad GitHub - VineetSukhthanker/FCT3065-XY_MouseSensor: Interface FCT3065-XY optical mouse sen…

面试算法准备:动态规划

这里写自定义目录标题 1 理论2 例题2.1 斐波那契数列(什么是重叠子问题)2.1.1 带备忘录的递归解法 2.2 零钱兑换(讲解最优子结构)2.3 最长递增子序列(讲解如何求解状态转移方程)2.4 俄罗斯套娃信封问题&…

Vue3、 Vue2 Diff算法比较

Vue2 Diff算法 源码位置:src/core/vdom/patch.ts 源码所在函数:updateChildren() 源码讲解: 有新旧两个节点数组:oldCh和newCh; 有下面几个变量: oldStartIdx 初始值=0 oldStartVnode 初始值=oldCh[0] oldEndIdx 初始值=oldCh.length - 1 oldEndVnode 初始值=oldCh[ol…

鸿蒙 harmonyos 线程 并发 总结 async promise Taskpool woker(三)多线程并发 Worker

Worker Worker是与主线程并行的独立线程。创建Worker的线程称之为宿主线程,Worker自身的线程称之为Worker线程。创建Worker传入的url文件在Worker线程中执行,可以处理耗时操作但不可以直接操作UI。 Worker主要作用是为应用程序提供一个多线程的运行环境…

CTFshow-PWN-栈溢出(pwn36)

存在后门函数,如何利用? 好好好,终于到了这种有后门函数的了 checksec 检查一下: 32 位程序,RELRO 保护部分开启 RWX: Has RWX segments 存在可读可写可执行的段 使用 ida32 看 main 函数 跟进 ctfshow 函数…

Scala 04 —— Scala Puzzle 拓展

Scala 04 —— Scala Puzzle 拓展 文章目录 Scala 04 —— Scala Puzzle 拓展一、占位符二、模式匹配的变量和常量模式三、继承 成员声明的位置结果初始化顺序分析BMember 类BConstructor 类 四、缺省初始值与重载五、Scala的集合操作和集合类型保持一致性第一部分代码解释第二…

L3-1 夺宝大赛-2024天梯赛(内存超限解决方法)

题目 夺宝大赛的地图是一个由 nm 个方格子组成的长方形,主办方在地图上标明了所有障碍、以及大本营宝藏的位置。参赛的队伍一开始被随机投放在地图的各个方格里,同时开始向大本营进发。所有参赛队从一个方格移动到另一个无障碍的相邻方格(“…

聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用

前言 Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类…

Redis入门到通关之Redis实现Session共享

文章目录 ☃️前期概要☃️基于Session实现登录方案☃️现有方案存在的问题☃️Redis代替Session的业务流程❄️❄️设计key的结构❄️❄️设计key的具体细节❄️❄️整体访问流程 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博…

redis原理篇(黑马程序员虎哥 )回忆笔记

原理,老师讲的真好。相见恨晚。 以下内容是按视频课程的章节安排,在我自己听完课之后,凭借记忆总结的。(可能存在疏漏不足,后期补全和修正,同时也在这个过程巩固我自己的对于这个组件相关原理的学习&#x…

中国DIVI版,wordpress DIVI网站主题在国内的替代方案。

最受欢迎的WordPress主题之一是Divi。我们创建了这个全面的Divi主题评论,以帮助您更好地了解其优点和潜在缺点。 Divi主题是什么? Divi是一个流行的WordPress主题,提供了一个网站建设平台。它有一个可视化编辑器选项,为新手和专业…

手撕红黑树(map和set底层结构)(2)

[TOC]红黑树 一 红黑树概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍&…

选择ERP系统需要考虑哪些因素 企业ERP系统选型指南

ERP系统是一个复杂的软件系统,中小企业要建成ERP系统首先是要选择一个适合自己的ERP软件。目前市场上的ERP软件品种繁多,功能各异,那么中小企业应如何结合自己的实际情况“量体裁衣”找到最适合自己的ERP软件呢?这是目前中小企业进行ERP选型…

介绍-响应式编程-001

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 开篇&am…

Ultralytics YOLOv8 英伟达™ Jetson®处理器部署

系列文章目录 前言 本综合指南提供了在英伟达 Jetson设备上部署Ultralytics YOLOv8 的详细攻略。此外,它还展示了性能基准,以证明YOLOv8 在这些小巧而功能强大的设备上的性能。 备注 本指南使用Seeed Studio reComputer J4012进行测试,它基于…

2024年三支一扶报名照上传要求很严格

2024年三支一扶报名照上传要求很严格