首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带OSX Mountain Lion的Qt 5.0和c++11

带OSX Mountain Lion的Qt 5.0和c++11
EN

Stack Overflow用户
提问于 2012-12-29 20:06:49
回答 3查看 1.8K关注 0票数 3

离开7年后,我再次尝试了c++。我已经下载了最新发布的Qt5.0SDK for osx,但我无法获得使用Qt Creator编译的基本c++11特性。以下语句:

代码语言:javascript
运行
复制
auto i = 3;

导致编译错误:

代码语言:javascript
运行
复制
mainwindow.cpp:19: error: ISO C++ forbids declaration of 'i' with no type

我已经在谷歌上搜索过类似的问题,并找到了一些建议

代码语言:javascript
运行
复制
QMAKE_CXXFLAGS += -std=c++11
  or
CONFIG += c++11

在.pro文件中。不幸的是,如果没有成功,.The构建将在无法识别的命令行选项上失败。

我一定是做错了什么。有什么建议吗?

谢谢,

法兰斯

EN

回答 3

Stack Overflow用户

发布于 2013-04-02 16:35:19

它看起来像Qt Creator for Mac bug。我用以下命令修复了它

代码语言:javascript
运行
复制
QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7
LIBS += -stdlib=libc++ -mmacosx-version-min=10.7

在.pro文件中

票数 3
EN

Stack Overflow用户

发布于 2015-01-22 22:47:31

我不知道这对你来说还是个问题。

在我当前的系统(Max OS X Yosemite - Qt 5.4 - QtCreator 3.0 - XCode 6.1.1)上,这就像是一个魔咒:

在.pro文件中:

代码语言:javascript
运行
复制
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。

票数 1
EN

Stack Overflow用户

发布于 2012-12-30 23:08:54

根据gcc feature list的说法,自gcc 4.4以来,通过以下方式支持auto

代码语言:javascript
运行
复制
g++ -std=c++0x

您也可以尝试gcc-specific表单:

代码语言:javascript
运行
复制
g++ -std=gnu++0x

在您的例子中,可能出现了其他问题(g++参数没有正确地提升到编译器)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14081490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档