【问题标题】:Qt 5: CONFIG+=c++11 vs QMAKE_CXXFLAGS+=-std=c++11 (What's better)Qt 5:CONFIG+=c++11 与 QMAKE_CXXFLAGS+=-std=c++11 (更好的)
【发布时间】:2014-12-10 22:53:38
【问题描述】:

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

QMAKE_CXXFLAGS += -std=c++11, 

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

CONFIG+=c++11.

问题是:用什么比较好?

【问题讨论】:

    标签: c++ qt c++11 qt5 std


    【解决方案1】:

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

    来自the qt5-qmake documentation

    配置

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

    【讨论】:

    • 没错,但是我尝试使用 CONFIG+=c++11 编译 Qt5 代码,以使用基于范围的 Qt 容器(准确来说是 QList),但我遇到了编译器错误,然后我将其更改为 QMAKE_CXXFLAGS += -std=gnu++11 并且效果很好。感谢您的回答。
    • 嗯,在你问这个问题的时候它对我有用。
    猜你喜欢
    • 2013-07-01
    • 2015-12-03
    • 2013-10-31
    • 2014-03-31
    • 2023-03-24
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多