离开7年后,我再次尝试了c++。我已经下载了最新发布的Qt5.0SDK for osx,但我无法获得使用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文件中。不幸的是,如果没有成功,.The构建将在无法识别的命令行选项上失败。
我一定是做错了什么。有什么建议吗?
谢谢,
法兰斯
发布于 2013-04-02 16:35:19
它看起来像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在.pro文件中
发布于 2015-01-22 22:47:31
我不知道这对你来说还是个问题。
在我当前的系统(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。
发布于 2012-12-30 23:08:54
根据gcc feature list的说法,自gcc 4.4以来,通过以下方式支持auto:
g++ -std=c++0x您也可以尝试gcc-specific表单:
g++ -std=gnu++0x在您的例子中,可能出现了其他问题(g++参数没有正确地提升到编译器)。
https://stackoverflow.com/questions/14081490
复制相似问题