安装
Windows 10 SDK的安装
vs2022新版本将windows10 sdk和分开了我选择了单独安装Microsoft的windows 10 SDK
多个sdk环境不能共存,可以在control panel搜索并卸载,或者使用安装器去卸载
Microsoft Windows 10 SDK下载地址:https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive/
此处我选择Version 2004(10.0.19041.0)版本

Windows 10 SDK的文件路径可以在C:\Program Files (x86)\Windows Kits\10找到
将C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64添加到环境变量(将rc.exe添加到环境变量)
Visual Studio 2022的安装
目前QT5.12.8的初始安装界面只支持到MSVC2017编译器,且QT5.12.8无法检测到VS2022的MSVC v141 - VS 2017 build tool及其以上的版本,推测是VS2022的框架版本过高,无法检测,而VS2022的MSVC v140 - VS 2015 build tool会单独在c盘创建一个C:\Program Files (x86)\Microsoft Visual Studio 14.0,使得MSVC2015能被检测到,而如果想MSVC v141 - VS 2017 build tool能被检测到只能去下载VS2017版本,但是微软官方已经不提供VS2017下载器了,且多个VS版本不兼容如VS2022和VS2017不能同时安装
Microsoft Visual Studio 2022下载地址:https://visualstudio.microsoft.com/downloads/
在此提供一个VS2017的下载地址:https://gitcode.com/open-source-toolkit/1f420/blob/main/vs_community__%E7%A4%BE%E5%8C%BA%E7%89%88.zip
点击安装启动器

选择安装位置
点击安装
(可选)
添加注册表的检测路径,右键,NEW,String Value
双击修改后面的值
这样就能检测到MSVC 2019后面的编译器了
点击QT上方,工具->选项->Kits,检测到MSVC2015编译器
点击QT上方,点击Debugger,检测到Windows 10 SDK下C:\Program Files (x86)\Windows Kits\10\Debuggers下的cdb.exe
提示缺少rc.exe,此时就是QT对MSVC的支持不够,需要将windows kit中的Debugger内bin里x64的rc.exe复制进入E:\QT\5.12.8\5.12.8\msvc2015_64\bin内
将C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64内的rc.exe文件复制到E:\QT\5.12.8\5.12.8\msvc2015_64\bin内

成功运行
报错
对中文报错

原因
QT的MSVC对UTF-8的支持不好,无法识别UTF-8文件
解决方法
- 通过vscode右下角保存GB2312格式或者再次保存UTF-8格式



- 在.pro文件添加如下代码,使得MSVC支持UTF-8文件
1
2
3
4
5
6
7win32 {
QMAKE_CXXFLAGS += /source-charset:utf-8 /execution-charset:utf-8
QMAKE_CFLAGS += /source-charset:utf-8 /execution-charset:utf-8
}
# 确保moc工具正确处理UTF-8
QMAKE_MOC += -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII

