在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文件进行了设置。
答案 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