gpt4 book ai didi

c++ - 如何使用最近的 MinGW 将 qmake 设置为 C++14?

转载 作者:搜寻专家 更新时间:2023-10-31 02:12:01 25 4
gpt4 key购买 nike

I know there are many duplicates .

这是我的 Test.pro:

CONFIG += c++14
SOURCES += main.cpp

和我的 main.cpp:

int main(){}

根据许多重复,这应该给我 C++14。但是,当我使用安装了 Qt 5.8.0-1MinGW gcc 5.3.0-1Qt Creator 4.2.0 构建项目时通过我得到的维护工具

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 版本未明确支持您使用的编译器。您可以执行以下任一操作:

  1. 在您的项目中设置两者 QMAKE_CXXFLAGS_CXX14QMAKE_CXXFLAGS_GNUCXX14:

    win32-g++ {
    QMAKE_CXXFLAGS_CXX14 = -std=c++14
    QMAKE_CXXFLAGS_GNUCXX14 = -std=c++14
    }
  2. 如上所述,在 Qt 安装文件夹的 mkspecs/win32-g++/qmake.conf 中编辑这两个变量的默认值。

  3. 添加从 win32-g++ 复制的新 mkspec,以您的编译器为目标,并使用它构建您的 Qt。所有使用该 Qt 的项目都将正确运行 w.r.t. C++14 支持。

关于c++ - 如何使用最近的 MinGW 将 qmake 设置为 C++14?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42719326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com