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看你系统位数),如果没有安装此运行库的,就安装它。