如何使用 C++14 支持从源代码构建 Qt 5

How to build Qt 5 from source with c++14 support

我正在尝试使用 gcc4.9 的 -std=c++14 标志构建从 git 中提取的 Qt 5.4.1。但是我不确定如何将标志正确传递到构建过程中。

我读到将 CONFIG += c++14 添加到 qt 项目文件应该从 Qt5.4 开始工作,所以我将它添加到位于顶部文件夹的 qt.pro 中。

但 Qt 仍然使用 -std=c++0x (c++11) 编译。

如果您使用 g++clang++ 构建 Qt 5,则转到qt5/qtbase/mkspecs/common/g++-base.confqt5/qtbase/mkspecs/common/clang.conf 并简单地将 QMAKE_CXXFLAGS_CXX11 = -std=c++11 赋值的右侧更改为(例如)-std=gnu++1z(或您需要的任何内容)。

要构建 Qt 5,您必须 运行 qt5/configure 脚本并提供 -c++11(以及 -platform linux-clang-libc++linux-clanglinux-g++ 或任何你需要的——参数是代表你的平台的 qt/qtbase/mkspecs/*/ 目录名)。