【问题标题】:Compiler not compiling the following line (C++)编译器不编译以下行(C++)
【发布时间】:2013-07-06 02:21:27
【问题描述】:

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

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++

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

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

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:警告:编译期间未使用的参数:
'-std=c++11' clang:警告:编译期间未使用参数:
“-stdlib=libc++”警告:未知警告选项“-Weverything”
[-Wunknown-warning-option] 警告:未知警告选项
'-Weverything' [-Wunknown-warning-option] 错误:无效值 'c++11'
在'-std=c++11'中

谁能告诉我如何在 OSX 中安装 C++11?提前致谢。

【问题讨论】:

  • Clang 支持 c++11 就好了。你有什么版本?
  • int array_aleatorio[] = {0, 1, 2, 3, 4, 5, 6, 7};
  • 我同意。 new 在这里看起来完全没有意义。

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


【解决方案1】:

您的 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 也有几年的历史了。

【讨论】:

  • 我无法更新 Xcode,因为正如你所说,它需要更新的 OSX 版本,并且由于多种原因,不可能这样做。
  • 不可能?为什么?无论如何,如果你真的卡住了,你可以去获取 clang 源并构建你自己的。
  • 由于某些高清版本,如果我想更新 OSX,我必须通过全新安装来完成,而不是正常更新 OSX。为此,我需要备份所有数据,而我现在没有时间这样做。我会尽力按照你说的去做。
  • @Borja 我目前正在测试在 Snow Leopard 10.6.8 上使用开源 MacPorts 以获得 clang++ 3.3 编译器。我的 Internet 连接速度很慢(按照今天的高速预期)。下载文件并正常安装已经大约2个小时。当一切都完成并正常运行时,我将发布一个包含详细信息的答案。希望这还不算太晚。
  • @Borja 好吧,如果您想查看 MacPorts 使用详情,请查看我为 Problems throwing and catching exceptions on OS X with -fno-rtti 发布的答案。我的帖子开头是这样的:Start Edit March 4, 2014
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2019-07-20
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2015-09-25
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    相关资源
    最近更新 更多