在qt(mingw)中启用c++1y

enable c++1y in qt (mingw)

本文关键字:启用 c++1y mingw qt      更新时间:2023-10-16

我试图在qmake中启用CONFIG += c++14(使用mingw),但我总是在生成的makefile中获得-std=c++0x。我找到的唯一解决方法是添加.pro文件QT_GCC_MAJOR_VERSION = 4QT_GCC_MINOR_VERSION = 9,然后我就可以得到正确的-std=c++1y。这些变量应该根据使用的编译器自动设置,对吗?是什么原因导致这些变量没有被设置?

我能想象到的最简单的专业文件也有这个问题:

TARGET = testProj
TEMPLATE = app
CONFIG += c++14
SOURCES += main.cpp

这实际上是一个影响mingw的Qt错误:https://bugreports.qt.io/browse/QTBUG-44142

一个简单的解决方法是编辑文件mkspecsfeaturesc++14.prf并注释掉行greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 7):