Qt 5:CONFIG + = c ++ 11 vs QMAKE_CXXFLAGS + = - std = c ++ 11(什么更好)

时间:2014-12-10 22:53:38

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

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

QMAKE_CXXFLAGS += -std=c++11, 

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

CONFIG+=c++11.

问题是:什么更好用?

1 个答案:

答案 0 :(得分:6)

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

来自the qt5-qmake documentation

  

CONFIG

     

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