- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我目前在我的 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 位。
最佳答案
This is now supported properly from Qt 5.4 .您只需将其输入到您的 qmake 项目文件中:
CONFIG += c++14
Thiago 在 2014 年年中进行了必要的代码更改:
Add support for CONFIG += c++14
我刚刚创建了必要的文档更改:
Mention the c++14 CONFIG option in the qmake variable reference
请注意,变量模板仅受 gcc 5.0 支持,但您的代码工作正常。这可用于使用旧版 gcc 测试 C++14:
#include <iostream>
int main()
{
// Binary literals: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf
// Single-quotation-mark as a digit separator: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf
std::cout << 0b0001'0000'0001;
return 0;
}
TEMPLATE = app
TARGET = main
CONFIG -= qt
CONFIG += c++14
SOURCES += main.cpp
qmake && make && ./main
257
关于c++ - 在构建 qmake 项目时如何使用 C++14 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127217/
在我的源树中,我有一堆资源,我想用 make install 将它们复制到我定义的目标路径。由于资源树有很多很多子目录,我希望 qmake 递归查找所有文件。 我试过: resources.pa
我想配置我的 qmake,这样我的可执行文件就会进入 ./build/debug(或发布)。我已使用以下代码成功完成此操作: CONFIG(debug, debug|release) { DE
我想使用 Qt 制作一个 GUI 应用程序,但无法开始。我在编辑器中编写了以下代码: #include #include int main(int argc, char *argv[]) {
我已经在 qt/c++ 中创建了一个应用程序 浏览器/Browser.pro 要启动浏览器,我需要一个代理。我已经创建了一个代理并将其存储在浏览器文件夹中 Browser/Browser.pro
我厌倦了编译 Qwt (或与此相关的任何其他 Qt 项目)每次发生变化时,例如 Qt 或体系结构的版本。所以: 我想将 Qwt 的 make 文件添加到我的项目中,以便编译后的 Qwt 文件进入我的影
我有一个Qt 程序。当我运行 qmake -project 和 qmake 时,它运行良好。 但是,现在我该如何运行我的程序呢? 谢谢。 最佳答案 make它,如果你在 Linux 中使用它。使用 n
我正在使用 qmake 和 Visual Studio。在发布版本中,qmake 将/GL 和/O2 标志添加到所有项目,我需要为我的整个 Qt 项目中的某些库删除这两个标志。有办法吗? 最佳答案 我
...它应该做但没有做。 这对我来说是 qmake 的主要挫折之一。 qbs 是我们 Qt 的 future ,但现在我们坚持使用 qmake。那么,有什么办法呢? 最佳答案 我滥用 QMAKE_EX
我正在使用 PRE_TARGETDEPS生成源文件,我将生成的源文件添加到 SOURCES用于编译。 我的生成器的输出显然在 qmake 运行时不存在,所以 qmake 输出 WARNING: Fai
我正在尝试通过 ubuntu 中的命令行编译 Qt 应用程序。对我来说,“which qmake”给出了/usr/bin。我在 PATH 变量中给出了 Qt/bin 路径。如何将qmake路径更改为Q
当使用 QMAKE_CXX = clang++ 强制在安装了 gcc 和 clang 的系统上使用 clang 时,clang++ 用于编译 .cpp 文件,但 g++ 是用于最后的链接。这在使用 U
我有一个共享库(没有 QT 依赖)[库 B],它链接到另一个共享库(也没有 QT 依赖)[库 A]。 我正在使用 Qmake 和 QT Creator 1.3。问题是,当我构建库 B 并在可执行文件上
有没有办法为 qmake 中的不同目标指定单独的编译选项? 例如: QMAKE_CXXFLAGS += -O SOURCES += file1.cpp QMAKE_CXXFLAGS += -st
我加了 version.target = version.h version.commands = bash generate-version.sh QMAKE_EXTRA_TARGETS += ve
qmake允许通过这样的命令行界面提供变量: qmake "CONFIG += release" "MY_VAR = hello" 所以我可以使用 $$MY_VAR里面.pro文件。但是有可能以这种方
我有一个看起来像这样的 qmake 项目: TEMPLATE = lib CONFIG += dll TARGET = mydll SOURCES += ... HEADERS += .... 现在我
我在弄清楚 qmake 如何处理依赖于另一个静态库的静态库的包含依赖项时遇到了一些问题。 我的文件夹结构如下: --- src/ lib1/ src/ (.pro,*.h,*.cpp) lib
我试图将我的项目从一台带有 qt4 的计算机转移到另一台我刚安装 qt5 的计算机,但我遇到了一个非常奇怪的问题。 qmake 突然找不到我的任何源文件或头文件。 这是一个极简主义的例子: QT
如 Undocumented qmake 中所述,我在我的 qmake 项目文件中声明了一个额外的编译器: TEST = somefile.h test_c.output = ${QMAKE_VAR_
这行在qmake .pro文件中是什么意思? TEMPLATE=aux 它是not documented,但是现在我测试它似乎不会引起错误或任何错误,并且我已经看到它在.pro中使用。 最佳答案 Go
我是一名优秀的程序员,十分优秀!