VS2019运行QT环境报错

VS2019编写QT项目报错

报错

使用VS2019创建QT项目,报错内容如下(很长很长的报错,贴出部分):
已启动重新生成…
1>------ 已启动全部重新生成: 项目: QtWidgetsApplication1, 配置: Debug Win32 ------
1> Qt/MSBuild: 3.4.0.1
1>Reading Qt configuration (C:/MyAPPs/Qt/5.15.2/msvc2019/bin/qmake)
1> Qt: 5.15.2
1>uic QtWidgetsApplication1.ui
1>rcc QtWidgetsApplication1.qrc
1>moc QtWidgetsApplication1.h
1> RCC: Warning: No resources in ‘C:\myQT5_Projects_vs2019\QtWidgetsApplication1\QtWidgetsApplication1.qrc’.
1>QtWidgetsApplication1.cpp
1>main.cpp
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1338,15): error C2146: 语法错误: 缺少“}”(在标识符“tConnection”的前面) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1338,15): error C2146: 语法错误: 缺少“}”(在标识符“tConnection”的前面) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1341,26): error C2440: “初始化”: 无法从“int”转换为“Qt::ConnectionType” (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1341,26): error C2440: “初始化”: 无法从“int”转换为“Qt::ConnectionType” (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1341,26): message : 强制转换为枚举类型要求显式强制转换(static_cast、C 样式强制转换或函数样式强制转换) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1341,26): message : 强制转换为枚举类型要求显式强制转换(static_cast、C 样式强制转换或函数样式强制转换) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1342,5): error C2143: 语法错误: 缺少“;”(在“}”的前面) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1342,5): error C2143: 语法错误: 缺少“;”(在“}”的前面) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C7525: 内联变量至少需要 “/std:c++17” (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C7525: 内联变量至少需要 “/std:c++17” (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2065: “ScrollBarPolicy”: 未声明的标识符 (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2065: “ScrollBarPolicy”: 未声明的标识符 (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2143: 语法错误: 缺少“;”(在“noexcept”的前面) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2143: 语法错误: 缺少“;”(在“noexcept”的前面) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2059: 语法错误:“noexcept” (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2059: 语法错误:“noexcept” (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2143: 语法错误: 缺少“;”(在“{”的前面) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2143: 语法错误: 缺少“;”(在“{”的前面) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2131: 表达式的计算结果不是常数 (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): message : 遇到非常量(子)表达式 (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2131: 表达式的计算结果不是常数 (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): message : 遇到非常量(子)表达式 (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2059: 语法错误:“}” (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1785,5): error C2059: 语法错误:“}” (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1786,5): error C2143: 语法错误: 缺少“;”(在“{”的前面) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1786,5): error C2143: 语法错误: 缺少“;”(在“{”的前面) (编译源文件 main.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1786,5): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 QtWidgetsApplication1.cpp)
1>C:\MyAPPs\Qt\5.15.2\msvc2019\include\QtCore\qnamespace.h(1786,5): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 main.cpp)

原因

总结来说就是C++的版本太低了,不支持QT的一些操作。

解决措施

点击项目,点击最下面的属性
在这里插入图片描述

找到C/C++语言,然后选择C++17
在这里插入图片描述

在这里插入图片描述
之后就清除解决方案,然后重新生成。
但是到这一步我并没有解决问题,报错依旧。

于是我尝试在QT的维护工具中,将MSVC2019移除,然后重新添加,运行。
成功了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值