weixin_36617477
大峰98
采纳率70%
2017-09-04 01:38 阅读 2.6k

gcc 中c++11的编译问题

我的是ubuntu下编译c++ primer plus的这么一段程序

#include
#include
using namespace std;
int main()
{
string str("abcd"):
for(auto c : str)
cout << c << endl;
}

报错提示如下:
warming:auto changes meaning in C++11;please remove it [-Wc++0x-compat]
error:c dose not name a type
warming:range-based for loop without a type-specifier only available with -std=c++1z or -std=gnu++1z

我觉得是不支持c++11的auto才引发的一系列错误,但是不知道如何改

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    qq_30069409 wanwan_1996 2017-09-04 09:30
    LIBS = -std=c++11
    之后LIBS加入到编译项里面去
    
    
    点赞 2 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-09-04 03:57

    你要是有ide的话,在编译选项里面找找c++ 11支持是否勾选。如果是命令行,那么去掉[-Wc++0x-compat]

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2017-09-04 06:57
     g++ -std=c++1z -o test xxx.cpp
    
    点赞 评论 复制链接分享

相关推荐