4

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

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

使用 qmake 创建的项目文件时,如何使用 Visual Studio 2019 中最新的 C++ 标准? 换句话说,我怎样才能防止 qmake 自动插入自己的-std选项?

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

4

3 回答 3

4

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

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

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

于 2019-05-08T09:22:26.247 回答
0

只需在您的.pro文件中尝试此操作:

CONFIG += c++latest
于 2021-02-13T10:18:02.433 回答
0

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

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

于 2019-05-06T21:00:42.180 回答