Qt常见错误消除

1、问题描述:点击编译后无出错,无法运行
解决方案: 1、查看是否路径出现中文;2、查看项目-》构建的的配置是否正常

2、问题描述:源文件出现编码不符/Qt 出现“{”: 缺少函数标题(是否是老式的形式表?)
解决方案: 用txt打开重新另存为utf-8格式

3、 Qt编译时遇到“未声明的标识符”问题
解决方案: 用txt打开重新另存为utf-8格式 声明该变量的文件(.h文件或.c文件)记事本打开保存为unicode格式重新编译即可

4、问题描述:显示出现中文乱码问题
解决方案:头文件添加 #pragma execution_character_set(“utf-8”)

5、问题描述:编译器的堆空间不足
解决方案:由于资源文件qrc过大,超出分配的内存范围,编译的时候打开任务管理器,会发现内存飙升。可以在pro文件中加入:CONFIG+=resources_big

6、问题描述: 出现Detected memory leaks! 内存溢出
解决方案: 因为包含了头文件afxwin.h 造成的,Qt和MFC的内存管理机制不同导致Qt调用MFC的库时会出现问题

7、问题描述:QT: warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。
解决方案:项目文件.Pro添加
# disable C4819 warning
QMAKE_CXXFLAGS_WARN_ON += -wd4819

8、问题描述:此行有一个“{”没有匹配项 但是实际都正常
解决方案: 删除对应的代码重新写,不要用复制的可能含有特别的字符串
一般是中文引起,在中文2端各添加一个空格能解决

9、问题描述:强制转换
解决方案:操作符 注释
const_cast------------去const属性
static_cast------------静态类型转换,如int转换成char
dynamic_cast--------动态类型转换,如子类和父类之间的多态类型转换
reinterpret_cast-----仅仅重新解释类型,但没有进行二进制的转换

10、问题描述:结构体明明定义了,却出现了不能使用,识别不到
解决方案:原因可能是因为头文件的开头使用了错误的名字导致
#ifndef FLYFRAM_H
#define FLYFRAM_H

11、问题描述:Qt windeployqt打包时出现Warning : Can not find Visual Studio installation directory,VCINSTALLDIR is not set 会导致拷贝到其他电脑安装时出现缺少dll

解决方案:首先要设置用户变量,在用户变量中新建一个用户变量,图中的变量值应该是你们VS的安装目录\VC,这样做是为了消除命令行里的Warning : Can not find Visual Studio installation directory,VCINSTALLDIR is not set 这个警告的。
后再用windeployqt重新打包一次程序(记住把原来里面的文件都删掉,重新操作),目的是为了让windeployqt自动添加VS的运行时库到目录中,这样你会多一个这个文件在这里插入图片描述(64或32看你系统位数),如果没有安装此运行库的,就安装它。
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值