1:无法打开.ui文件,或打开后闪退
解决方法:右键.ui文件选择打开方式,手动添加QT designer.exe,然后设为默认方式。
QT designer.exe路径示例:QT5.13.0\5.13.0\msvc2017_64\bin
2:无法解析的外部符号,error LNK2019
原因: 链接问题,主要有头文件包含和Lib库包含问题
解决方法:1)右键属性,在VC++目录-库目录中添加lib路径,VC++目录-包含目录添加include
- 链接器,附加依赖项添加lib路径
- 修改活动平台配置属性
3:无法打开stdio.h main.h 等头文件
解决方法:右键属性查看windows sdk版本,默认为8.1,修改为本地版本
4:vs开发qt程序提示无法打开源文件 #include <QtWidgets/QApplication>
解决方法:右键属性,在VC++目录-包含目录中添加include路径
5:LNK1104无法打开xxx\lib.obj文件
解决方法:链接器的附加依赖项设为默认(从父级或项目默认设置继承)
可能原因:LIBS添加的路径名中有空格,且路径没有使用引号括起来导致的
6:E2512 功能测试宏的简单参数必须是简单标识符
方法:生成模式换成仅生成
7:新建项目无法打开msp_cmn.h等文件
解决方法:1)手动添加库文件到包含目录和库目录(未成功)
- 把文件手动添加到C:\Qt\Qt5.13.0\5.13.0\msvc2017_64相同命名路径下
- 程序中修改文件路径(成功)
8:无法找到msc_x64.dll、msc.dll
解决方法:手动添加库到dubug目录
9:VS C++程序报错:找不到标识符
原因:
cpp编译时是顺序编译的,在一个函数中嵌套使用了报错的函数,而把函数的定义放在了上一个函数的后面,所以报错找不到标识符。
解决方案:
将报错函数的定义放在嵌套使用它的函数之前,即可解决。
10:ui界面文本输出中文是乱码;
解决方法:修改字符集(未成功)
11:error C2065: “XXXXXX”: 未声明的标识符
方法:查看是否定义或者定义错误,重新定义
12:There's no Qt version assigned to project QtTestDistinguis.vcxproj for configuration Debug/Win32. Please assign a Qt installation in 'Qt Project Settings'. QtTestDistinguis
解决方法:1)进入Qt VS Tool设置版本,
- 右键项目进入Qt Project Settings设置版本
13:C2440 “=”: 无法从“const char *”转换为“char *”
C2440 “=”: 无法从“void *”转换为“BYTE *”
解决方法:在函数前加上(char *)或者(BYTE *)定义
14:LNK1112 模块计算机类型“x86”与目标计算机类型“x64”冲突
统一版本,主要修改四个地方:配置管理器、QT VS Tools、右键解决方案进入“修改解决方案QT版本”、右键属性进入“QT项目设置”
15:error C2065: “_Bool”: 未声明的标识符
编译器不支持bool类型,换成int
16:ui.result->setText映射文本到界面上不会立刻生效
因为setText()不会立即调用paintEvent进行绘图。程序会等你退出循环后才有机会进行绘图。所以你看到的只是最后一次读回来的值。
解决的办法是:
label->setText()后,调用label->repaint()立即重绘。
17:Vs+Qt,运行后,中文字符显示乱码
//在头文件前面加上下面几行代码,统一编码
#ifdef WIN32
#pragma execution_character_set("utf-8")
#endif
(此代码将全文代码统一,有缺陷,可能会导致错误)
后新增一个gb2312转utf8函数,转换时调用。
18:定义槽函数的子函数报错 未定义标识符
根据槽函数的子函数运行顺序逐步定义,不能有中断
19:更改qt设计师标题
在构造函数里添加this->setWindowTitle("语音小助手");
20:strcmp函数的返回值总为-1
编码错误,以前设置的全文代码编码统一,有缺陷,可能会导致错误,改为调用转化函数