Qt 5: CONFIG+=c++11 vs QMAKE_CXXFLAGS+=-std=c++11 (What's better)

Qt 5: CONFIG+=c++11 vs QMAKE_CXXFLAGS+=-std=c++11 (What's better)

本文关键字:c++11 What better CXXFLAGS+ CONFIG+ vs QMAKE Qt -std      更新时间:2023-10-16

我知道如果你想在你的Qt代码中添加C++11功能,你需要在你的.pro文件中写下这一行:

QMAKE_CXXFLAGS += -std=c++11, 

但您也可以使用另一行来代替它:

CONFIG+=c++11.

问题是:什么更好用?

CONFIG+=c++11更好,因为它是由qmake工具处理的,该工具知道如何正确设置它,而QMAKE_CXXFLAGS += -std=c++11几乎直接说qmake-std=c++11标志设置为编译器,但它可能无法工作,因为它在某处-std=gnu++11甚至-std=c++0x,因此您可能会遇到编译器错误。因此,这不仅与错误有关,还与可移植性有关。

来自 qt5-qmake 文档:

配置

指定项目配置和编译器选项。这些值由 qmake 内部识别,具有特殊含义。