【发布时间】:2014-11-25 11:00:15
【问题描述】:
我目前在我的 Qt 应用程序中使用 C++11 功能。不过,我想在我的应用程序中使用一些新的 C++14 功能。
要在Qt应用程序中启用C++11,只需要在qmake工程文件中添加一行,即:
CONFIG += c++11
或者这个对于早期版本:
QMAKE_CXXFLAGS += -std=c++1y
我已经尝试过对 C++14 做同样的事情,但没有成功。我像这样更改了 qmake 项目的上述行:
CONFIG += c++14
或者这个对于早期版本:
QMAKE_CXXFLAGS += -std=c++1y
之后,在尝试构建项目时会出现许多以前不存在的编译错误。该项目编译良好,但是,如果我尝试使用任何 C++14 功能,则会出现编译错误。这是一个例子:
template<typename T>
constexpr T pi = T(3.1415926535897932385);
这是对应的错误:
main.cpp:7: error: template declaration of 'constexpr const T pi'
constexpr T pi = T(3.1415926535897932385);
^
在 QtCreator 中使用 qmake 项目时如何启用 C++14 功能?
我正在使用 Qt 5.3.2、Qt Creator 3.2.1 和 MinGW 4.8.2 32 位。
【问题讨论】:
-
另外,我对问题进行了一些编辑,以使您的问题更清楚。如果我理解错了,请不要犹豫回滚。
-
也许也值得一读:woboq.com/blog/cpp14-in-qt.html