Qt/C++开发经验

  • 程序如果出现崩溃和段错误,90%都是因为要么越界(一般是指索引越界,比如数组或队列大小5,取第6个值),要么未初始化(一般指指针没有new分配,或者分配后又释放了,然后又去使用这个指针),死扣这两点,90%的问题解决了。

  • Qt一共有几百个版本,关于如何选择Qt版本的问题,我一般保留四个版本,为了兼容Qt4用4.8.7,最后的支持XP的版本5.7.0,最新的长期支持版本比如5.15,最高的新版本比如5.15.2。强烈不建议使用4.7以前和5.0到5.3之间的版本(Qt6.0到Qt6.2之间、不含6.2的版本也不建议,很多模块还没有集成),太多bug和坑,稳定性和兼容性相比于之后的版本相当差,能换就换,不能换睡服领导也要换。如果没有历史包袱建议用5.15.2,目前新推出的6.0版本也强烈不建议使用,官方还在整合当中,好多类和模块暂时没有整合,需要等到6.2.2版本再用。考虑到qss性能以及自带mysql驱动的因素,最终Qt5选用5.12.3,Qt4选用4.8.7,Qt6选用6.5.x。

  • Qt和msvc编译器常见搭配是Qt5.7+VS2013、Qt5.9+VS2015、Qt5.12+VS2017、Qt5.15+VS2019、Qt6.2+VS2019,按照这些搭配来,基本上常用的模块都会有,比如webengine模块,如果选用的Qt5.12+msvc2015,则很可能官方没有编译这个模块,只是编译了Qt5.12+msvc2017的,如果一定要用msvc2015不想换msvc2017则只能选择Qt5.9+msvc2015套件,或者自行源码重新编译(这个难度超大,初学者绕过)。

  • Qt默认有对应VS版本,在下载对应VS插件的时候心里要有个数,官方默认提供的是原配的插件,如果想要Qt4.8+VS2015的插件,需要自行编译。一般来说是Qt4.8原配VS2010,Qt5.6原配VS2013,Qt5.9原配VS2015,Qt5.12原配VS2017,Qt5.15原配VS2019,切记:原配最好。

  • 用Qt做开发机器建议用win10,尤其是2021年以后新发布的Qt版本,比如Qt5.12.12、Qt5.15.2、Qt6.2.2等,因为很可能自带的QtCreator用的最新的版本,Qt6开始不再支持win7,或者由于其他的原因,对win7的支持不友好,会出现奇奇怪怪的问题等,所以又是没得选必须用win10。建议各位拥抱新时代的变化,这世上唯一不变的只有变化。

  • 新版本Qt安装包安装的时候需要填写注册信息,如果不想填写,先禁用网卡,在运行安装包,可以直接跳过这一步进行安装。从Qt5.15开始不再提供离线安装包,意味着必须使用在线安装器安装Qt的后续版本,必须填写用户信息,没得选。

相关推荐
老纪的技术唠嗑局2 分钟前
端侧智能爆火之后,为何模型反而不是主角了?
数据库·人工智能
我变成萤火虫14 分钟前
反悔贪心(经典题目讲解)
c++·算法·贪心算法·stl·排序算法·反悔贪心
这个DBA有点耶16 分钟前
一文讲透数据库分类:关系型、非关系型、OLTP、OLAP、分布式、多模……
数据库·mysql·架构
Macbethad21 分钟前
使用Rigol DHO924示波器连接上位机进行24小时波形数据记录的技术报告
数据库
绿浪198428 分钟前
c# 结构体 能不能直接封送检测
开发语言·c#
_Narcissus_30 分钟前
排序算法总结表格
c语言·数据结构·c++·笔记·算法·排序算法·总结
新手unity自用笔记35 分钟前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎
zyf10441639 分钟前
暑期实践日志 Day32:完成第六章字幕添加,推进工作
学习·计算机网络·剪辑·暑期实践·课题任务
小雪崩1 小时前
嵌入式学习 day27:标准IO
linux·c语言·学习
hsjiasb1 小时前
FreeRTOS学习(三十五)——系统架构综合项目
学习·学习笔记·freertos