我最近尝试在Windows 7(64位)上使用Qt Creator 1.3.2,Qt 4.6.2和GCC 4.4.0(32位版本)来编译使用某些实验性C 0x扩展的应用程序并遇到以下问题(致命错误:
此文件需要编译器和库支持即将推出的ISO C标准C 0x . 此支持目前是实验性的,必须使用-std = c 0x或-std = gnu 0x编译器选项启用 .
在我搜索解决方案时,我遇到了线程qmake and compiler flags?,并将以下内容添加到.pro文件中:
CXXFLAGS += -std=c++0x
但这似乎没有什么区别 .
所以,我希望有一些标签需要添加到.pro(项目)文件中,但我以前从未弄过Qt,QMake和QtCreator中的GCC编译器开关,我不确定正确的调用/咒语 . 所以,我的问题是如何在使用QtCreator,QMake和Qt时设置GCC编译器开关?
3 回答
归结为阅读manual . 而不是在.pro文件中使用
CXXFLAGS
,您需要使用QMAKE_CXXFLAGS
,如下所示:main.cpp中:
main.pro:
你应该用
自动启用C 11编译器标志 .
在qt安装中查找
.prf
文件 . 我不知道它们在Windows上的位置,但在我的Linux安装中,它们位于/opt/Qt/5.4/gcc_64/mkspecs/features
之下 .您可能想要阅读qmake documentation:
你可以add your own features .
这是我在我的系统上找到的 . CONFIG = name将启用该功能:
真正适用于我的唯一方法是将其添加到
QMAKE_CXXFLAGS
.编译命令的
CONFIG += c++11
does not add-std=c++11
.