编译器没有编译以下行(C ++)

时间:2013-07-08 16:48:08

标签: c++ compiler-construction compiler-errors compiler-warnings

我在尝试编译此代码时遇到问题:

int *array_aleatorio = new int[8]{0, 1, 2, 3, 4, 5, 6, 7};

这是出现的错误:

  

main.cpp:315:38:错误:预期';'在声明结束时
      int * array_aleatorio = new int [8] {0,1,2,3,4,5,6,7};

我的一个队友告诉我这可能是因为我没有使用正确的编译器。他正在使用C++11并且它有效。我试图安装它没有任何成功。

我正在使用OSX 10.6.8Netbeans 7.3

我正在使用clang++enter image description here

我已经通过将-std=c++11 -stdlib=libc++ -Weverything行添加到项目的编译属性来尝试此this解决方案,但它不起作用: enter image description here

这是当我尝试通过添加上面的行来执行它时出现的错误。

  

clang ++ -std = c ++ 11 -stdlib = libc ++ -Weverything -c -g -std = c ++ 11
  -stdlib = libc ++ -Weverything -MMD -MP -MF build / Debug / GNU-MacOSX / main.o.d -o build / Debug / GNU-MacOSX / main.o
  main.cpp clang:warning:编译期间未使用的参数:
  '-std = c ++ 11'clang:warning:编译期间未使用的参数:
  '-stdlib = libc ++'警告:未知警告选项'-Weverything'
  [-Wunknown-warning-option]警告:未知警告选项
  '-Weverything'[-Wunknown-warning-option]错误:无效值'c ++ 11'
  在'-std = c ++ 11'

有人能告诉我如何在OSX中安装C ++ 11吗?提前谢谢。

2 个答案:

答案 0 :(得分:5)

您的Xcode 方式已过期。 Xcode 3.2.6在 2011 中发布,包括:

Apple clang version 1.7 (tags/Apple/clang-77) (based on LLVM 2.9svn)

根据发布日期,它没有C ++ 11支持并不奇怪。

您希望获得Xcode 4.6,其中包括:

Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)

您可能也需要更新您的操作系统 - 10.6.8也是几年之久。

答案 1 :(得分:1)

雪豹上的clang最后一个支持的版本(xcode附带)不兼容c ++ 11,但你可以安装macports(http://www.macports.org/install.php)并在控制台的帮助下安装一个更新的例如,clang的版本,“ sudo port install clang-3.2 ”。

安装了clang的文件夹可以找到“ whereis clang-3.2