I know there are many 重复项.
这是我的测试版:
CONFIG += c++14
SOURCES += main.cpp
和我的 main.cpp:
int main(){}
根据许多重复,这应该给我 C++14。但是,当我使用构建项目时Qt 创建者 4.2.0 with Qt 5.8.0-1 and MinGW gcc 5.3.0-1通过我得到的维护工具安装
g++ -c -pipe -fno-keep-inline-dllexport -g-std=gnu++1y-frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\Test -I。 -IC:\Qt\5.8\mingw53_32\include -IC:\Qt\5.8\mingw53_32\include\QtGui -IC:\Qt\5.8\mingw53_32\include\QtANGLE -IC:\Qt\5.8\mingw53_32\include\QtCore -Idebug -IC:\Qt\5.8\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\Test\main.cpp
这不是-std=c++14
我预计。
我尝试了其他问题的各种技巧,例如
QMAKE_CXXFLAGS_CXX14 = -std=c++14
CONFIG += c++14
QMAKE_CXXFLAGS += -std=c++14
SOURCES += main.cpp
这导致
g++ -c -pipe -fno-keep-inline-dllexport-std=c++14 -g -std=gnu++1y-frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\Test -I。 -IC:\Qt\5.8\mingw53_32\include -IC:\Qt\5.8\mingw53_32\include\QtGui -IC:\Qt\5.8\mingw53_32\include\QtANGLE -IC:\Qt\5.8\mingw53_32\include\QtCore -Idebug -IC:\Qt\5.8\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\Test\main.cpp
其中第二个选项覆盖第一个,这意味着它仍然在gnu++1y
-模式或只是
QMAKE_CXXFLAGS += -std=c++14
SOURCES += main.cpp
这也导致
g++ -c -pipe -fno-keep-inline-dllexport-std=c++14 -g -std=gnu++11-frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\Test -I。 -IC:\Qt\5.8\mingw53_32\include -IC:\Qt\5.8\mingw53_32\include\QtGui -IC:\Qt\5.8\mingw53_32\include\QtANGLE -IC:\Qt\5.8\mingw53_32\include\QtCore -Idebug -IC:\Qt\5.8\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\Test\main.cpp
我删除了构建目录和 Test.pro.user 文件以强制从头开始构建,没有给我 C++14。
如何告诉 qmake 使用 C++14?
您正在使用的 Qt 版本未明确支持您正在使用的编译器。你可以做任意一个以下的:
-
Set both QMAKE_CXXFLAGS_CXX14
and QMAKE_CXXFLAGS_GNUCXX14
在你的项目中:
win32-g++ {
QMAKE_CXXFLAGS_CXX14 = -std=c++14
QMAKE_CXXFLAGS_GNUCXX14 = -std=c++14
}
如上所述编辑这两个变量的默认值,在mkspecs/win32-g++/qmake.conf
在您的 Qt 安装文件夹中。
添加新的mkspec
复制自win32-g++
,针对您的编译器,并使用它构建您的 Qt。所有使用该 Qt 的项目都将正常运行。 C++14 支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)