如何在Qt 5.12中使用/ std:c ++ latest

时间:2019-05-06 21:00:42

标签: qt qmake visual-studio-2019 c++20 qt5.12

在Qt 5.12之前,我们在QMAKE_CXXFLAGS += /std:c++latest文件中有.pri,但在Qt 5.12之后,c++latest c++14都被设置为生成的.vcxproj项目文件中的Visual Studio命令行参数。

我可以通过config += c++17进入C ++ 17,但是随后出现此错误:Command line warning D9025: overriding '/std:c++latest' with '/std:c++17'

使用qmake创建的项目文件时,如何在Visual Studio 2019中使用最新的C ++标准? 以另一种方式说,如何防止qmake自动插入其自己的-std选项?

编辑:我对自动应用c ++ 14是错误的。另一个.pri文件进行了设置。

3 个答案:

答案 0 :(得分:0)

除了CONFIG -= c++14外,还请在.pri(.pro)文件中使用QMAKE_CXXFLAGS += /std:c++latest,以防止qmake插入其自己的/std编译标志。

编辑:仅当先前包含的.pri具有CONFIG -= c++14(并且您无法从其他.pri中删除它)时才需要

答案 1 :(得分:0)

在Qt 5.13中,您可以通过添加解决该问题

CONFIG += c++2a c++1z c++14

到您的.pro文件。 c ++ 2a值映射到/ std:c ++ latest。

答案 2 :(得分:0)

只需在您的 .pro 文件中试试这个:

CONFIG += c++latest