qt - 如何从源代码构建具有 c++14 支持的 Qt 5

标签 qt c++14

我正在尝试使用 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.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/*/ 目录名称代表您的平台)。

关于qt - 如何从源代码构建具有 c++14 支持的 Qt 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551609/

相关文章:

multithreading - 如何从Qtreeview中删除项目?

C++ Qt GUI 更新

c++ - 推导初始化列表大小的模板参数

c++ - 如何获取从 QListView 中选择的项目?

c++ - 在用作槽的 lambda 函数中捕获的堆栈分配变量的生命周期是多少?

qt - 使用 Qt 生成 MD5 哈希值

c++ - 为什么不使用非类型模板参数实现 std::bind 的占位符?

c++ - 返回的通用 lambda 的参数据称会影响自由函数的参数

c++ - 解包到可变参数构造函数

c++ - 为什么不允许使用 `make_unique<T[N]>`?