在 qt (mingw) 中启用 c++1y
enable c++1y in qt (mingw)
我试图在 qmake 中启用 CONFIG += c++14
(使用 mingw),但我总是在生成的 makefile 中得到 -std=c++0x
。我发现的唯一解决方法是在我的 .pro 文件中添加 QT_GCC_MAJOR_VERSION = 4
和 QT_GCC_MINOR_VERSION =
9,然后我得到正确的 -std=c++1y
。这些变量应该根据使用的编译器自动设置,对吗?是什么导致这些变量未被设置?
我能想到的最简单的pro文件也有这个问题:
TARGET = testProj
TEMPLATE = app
CONFIG += c++14
SOURCES += main.cpp
这实际上是一个影响 mingw 的 Qt 错误:https://bugreports.qt.io/browse/QTBUG-44142
一个简单的解决方法是编辑文件 mkspecs\features\c++14.prf
并注释掉行 greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 7): \
我试图在 qmake 中启用 CONFIG += c++14
(使用 mingw),但我总是在生成的 makefile 中得到 -std=c++0x
。我发现的唯一解决方法是在我的 .pro 文件中添加 QT_GCC_MAJOR_VERSION = 4
和 QT_GCC_MINOR_VERSION =
9,然后我得到正确的 -std=c++1y
。这些变量应该根据使用的编译器自动设置,对吗?是什么导致这些变量未被设置?
我能想到的最简单的pro文件也有这个问题:
TARGET = testProj
TEMPLATE = app
CONFIG += c++14
SOURCES += main.cpp
这实际上是一个影响 mingw 的 Qt 错误:https://bugreports.qt.io/browse/QTBUG-44142
一个简单的解决方法是编辑文件 mkspecs\features\c++14.prf
并注释掉行 greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 7): \