如何修复 Qt 需要 C++17 编译器?
Posted
技术标签:
【中文标题】如何修复 Qt 需要 C++17 编译器?【英文标题】:How to fix Qt requires a C++17 compiler? 【发布时间】:2022-01-19 05:23:18 【问题描述】:我使用的是柯南安装的 Qt-6.2.2。
我在 VS-2019 中创建了 Qt Widgets Project,将语言切换为 std:c++17
,将 /Zc:__cplusplus
添加到其他选项中。
由于这是柯南安装的QT,它没有Qt.props
,所以我手动创建了一个包含conan install
生成的props文件。
但它仍然抱怨:
严重性代码描述项目文件行抑制状态 错误 C1189 #error:“Qt 需要 C++17 编译器,以及合适的 __cplusplus 的值。在 MSVC 上,您必须通过 /Zc:__cplusplus 选项 编译器。” QtWidgetsApplication2 D:.conan\579957\1\include\QtCore\qglobal.h 94
【问题讨论】:
【参考方案1】:尝试设置选项-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458
。
我在 VS2019 中使用 Qt6.2.0 和 Qt-VS-Tools2.7.2 时遇到了同样的问题。
只设置/Zc:__cplusplus
错误信息建议没有解决它,
但设置上面的选项对我有用。
(我从自动生成的旧项目中复制它们)
【讨论】:
以上是关于如何修复 Qt 需要 C++17 编译器?的主要内容,如果未能解决你的问题,请参考以下文章
Visual C++ 编译器 2012 年 11 月 CTP 与 Qt Creator for C++11