【发布时间】:2014-12-10 22:53:38
【问题描述】:
我知道如果你想在你的 Qt 代码中添加 C++11 特性,你需要在你的 .pro 文件中写下这一行:
QMAKE_CXXFLAGS += -std=c++11,
但你也可以使用另一行来代替它:
CONFIG+=c++11.
问题是:用什么比较好?
【问题讨论】:
我知道如果你想在你的 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,所以您可能遇到编译器错误。因此,这不仅与错误有关,还与可移植性有关。
来自the qt5-qmake documentation:
配置
指定项目配置和编译器选项。这些值由 qmake 内部识别并具有特殊含义。
【讨论】: