我离开7年后再试一次c ++。我已经下载了最新发布的用于osx的Qt 5.0 sdk,但我无法获得使用Qt Creator编译的基本c ++ 11功能。以下声明:
auto i = 3;
导致编译错误:
mainwindow.cpp:19: error: ISO C++ forbids declaration of 'i' with no type
我已经谷歌周围的类似问题,并找到建议
QMAKE_CXXFLAGS += -std=c++11
or
CONFIG += c++11
<。>在.pro文件中。遗憾的是没有成功。构建在无法识别的命令行选项上失败。
我一定是做错了。有什么建议?
谢谢,
弗兰斯
答案 0 :(得分:3)
它看起来像Qt Creator for Mac bug。 我用
修复了它QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7
LIBS += -stdlib=libc++ -mmacosx-version-min=10.7
<。>文件中的
答案 1 :(得分:1)
我不知道这对你来说是否还是个问题。
在我目前的系统上(Max OS X Yosemite - Qt 5.4 - QtCreator 3.0 - XCode 6.1.1),这就像一个魅力:
在.pro文件中:
macx {
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
QMAKE_CXXFLAGS += -mmacosx-version-min=10.7
QMAKE_CFLAGS += -mmacosx-version-min=10.7
QMAKE_MAC_SDK = macosx10.9
}
macx {
QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++
QMAKE_CFLAGS += -std=c++11 -stdlib=libc++
}
CONFIG += c++11
确保您也安装了最新的Mac OS X SDK。
答案 2 :(得分:0)
根据gcc feature list,从auto
开始支持gcc 4.4
:
g++ -std=c++0x
你也可以试试gcc-specific
表格:
g++ -std=gnu++0x
也许,在您的情况下,会出现另一个问题(g ++参数未正确提升到编译器)。