我正在尝试使用 gcc4.9 的 -std=c++14 标志构建从 git 拉取的 Qt 5.4.1。但我不确定如何正确地将标志传递到构建过程中。
我读到,从 Qt5.4 开始,将 CONFIG += c++14 添加到 qt 项目文件应该可以工作,因此我已将其添加到位于顶部文件夹的 qt.pro 中。
但是 Qt 仍然使用 -std=c++0x (c++11) 进行编译。
最佳答案
如果您使用 g++ 或 clang++ 构建 Qt 5,请转到 qt5/qtbase/mkspecs/common/g++-base.conf
或 qt5/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-clang
或 linux-g++
或您需要的任何内容 - 参数是 qt/qtbase/mkspecs/*/
目录名称代表您的平台)。
关于qt - 如何从源代码构建具有 c++14 支持的 Qt 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551609/