Qt+vstudio2022的报错信息积累

从今天开始记录一下平常开发工作中的报错记录,后续有错误动态补充!

报错消息:error : [QtRunWork] Error starting process /moc: 系统找不到指定的文件。

背景:打开项目的时候运行报错

解决:没有设置Qt的版本,右键》属性》选择Qt project setting》选择Qt(Qt的版本要和Qt vs tool中的版本一致)

报错消息:Program:D:\software\Qt\route\5.14.2\msvc2017\bin\Qt5Cored.dll Module:5.14.2 File:d:\software\qt\route\5.14.2\msvc2017\include\qtcore\qlist.h Line:579 ASSERT failure in QList<T>:operator[]:"index out of range",file d:\software\qt\route\5.14.2\msvc2017\include\qtcore\qlist.h,
line 579

现象:ui中checkbox的勾选引起奔溃,这个checkbox的确定着高速率udp数据是否接收;

原因:接收数据解析的时候未校验数据的长度,通过Qlist的at使用超出索引。

解决:最Qlist的索引进行限制。

报错消息:QAbstractSocket::connectToHost() called when already looking up or connecting/connected to "127.0.0.1"

现象:tcp连接的时候,ip和端口的参数连接错误,再次链接的时候就会报这个错误。

解决:这个错误通常是因为在连接已经建立或正在建立的情况下再次调用connectToHost()函数导致的。在Qt中,每个QTcpSocket对象只能连接一个主机,如果要连接其他主机,需要先关闭当前连接,然后再连接其他主机。在连接前判断状态,使用abort断开。

tcpSocketConnect->abort();//断开之前的正在连接
tcpSocketConnect->connectToHost(ui.lineEditIP->getIP(), ui.spinBoxControl->text().toInt());    

报错:语法错误:缺少"(在"return'"的前面

错误代码:QMessageBox::warning(this,"提示","请输入数据的4个字头,进行匹配! ",QMessageBox::Ok);
这段代码的!后面需要空格两个,一个空格就报错

参考:https://blog.csdn.net/qq_43475285/article/details/108189894

报错消息:问题:WARNING  QMetaObject::connectSlotsByName: No matching signal for on_btn_connect_clicked()

解决:

参考:QT出现QMetaObject::connectSlotsByName: No matching signal for on_open_dhcp_clicked()_qmetaobject connectslotsbyname no matching-CSDN博客

报错信息:【MSB8041】此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。  

 解决:

报错信息:ERROR running qmake

解决:

  • 背景: 新打开项目过程中报错,Qt缺少相应的库。
  • 解决:打开报错折叠的信息,看到是Qt没有安装webengine的库,在Qt中重新添加对应的库。

步骤一:Qt路径下更新软件

注:点击“添加或移除组件 ”的时候报错,此操作至少需要一个处于启用状态的有效资料档案库,解决方案参考:Qt 此操作至少需要一个处于启用状态的有效资料档案库

报错信息: LNK2001    无法解析的外部符号 "class ParaCfg * g_pParaCfg" (?g_pParaCfg@@3PAVParaCfg@@A)     

可能原因:格式编码问题

报错信息: error: msvc-version.conf loaded but QMAKE_MSC_VER isn't set

解决:

  • 原因:从Qtcreator的Mingw编译复制过来到VS中的MSVC,编译器链接的问题
  • 解决:删除所有关于项目编译过程中的文件,只保留源代码,通过再次加载pro文件即可。其他人也有修改QMAKE_MSC_VER 的版本的也可以。

报错信息:D8021    无效的数值参数“/w44458;-Zc:rvalueCast”  

解决:

  • 原因:该项目之前是在不同环境下配置好项目,个人将其在win10的vs下面重新编译配置并运行,因此出现上述报错信息;
  • 解决:右键项目 -> 属性 -> C/C++ -> 命令行,将 “其它选项” 中删除/w44458等类似指令内容删除即可。

报错信息:0x00007FFE35DB1BAA (Qt5Cored.dll)处(位于 KaKuQt.exe 中)引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。

解决:

背景:在原来的代码基础上添加了一个定时器,进行了信号与槽的绑定,结果编译没有问题,运行的时候程序奔溃。

解决:debug的时候,发现connect连接在new之前,这能不奔溃嘛!

重点:

  1. 确保对象在连接信号和槽之前已经被正确定义和初始化。
  2. 检查对象是否在尝试访问之前已经被销毁或重新分配。
要学习C#,你可以使用Visual StudioVStudio)作为开发环境。VStudio是由微软提供的最佳C#开发环境,而且还是免费的。你可以从微软的官方网站上下载Visual Studio 2022 IDE。下载地址是:https://visualstudio.microsoft.com/zh-hans/vs/1.1 下载。安装完成后,你就可以开始使用VStudio来学习C#编程了。 在VStudio中,你可以创建C#项目,并且借助强大的编辑器和调试器进行代码编写、调试和运行。通过VStudio的集成开发环境(IDE),你可以编写C#程序,并将其编译为可独立运行的程序(.exe文件)或可被其他程序调用的(.dll文件)。VStudio还提供了丰富的代码补全、调试工具和开发人员社区等功能,可以帮助你更高效地学习和开发C#程序。 通过VStudio学习C#,你可以参考一些入门教程和教学资源,比如《C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程》这篇博文。这个教程可以帮助你了解如何在Visual Studio 2022中搭建C#开发环境,并给出了详细的步骤和图文说明。你可以按照这个教程的指导来配置和使用VStudio进行C#学习。 总的来说,VStudio是学习和开发C#的理想工具,它提供了强大的功能和友好的界面,可以帮助你更加便捷地进行C#编程。通过下载和安装Visual Studio 2022 IDE,你就可以开始学习C#并开发自己的应用程序了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程](https://blog.csdn.net/beijinghorn/article/details/123350910)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值