23

我使用的是 ubuntu 12.04,默认的 gcc 是 4.6.3。它不接受 c++11 命令,并且给我输出说该命令不兼容 c++98。我在网上查了一下,看到有人建议不要更改操作系统上的默认编译器,因为它变得不稳定。任何人都可以建议修复或安全的方式来下载符合 c++11 的 gcc 编译器。

4

2 回答 2

27

正如其他人所建议的,您需要输入 std 命令行选项。让我们为您轻松

  1. Ctrl+ Alt+打开终端T
  2. sudo gedit ~/.bashrc
  3. 输入以下行作为最后一行

    alias g++="g++ --std=c++0x"
    
  4. 保存并关闭文件并关闭终端。
  5. 现在再次打开终端并简单地编译你的 c++ 11 程序g++ filename.cpp

就是这样。默认情况下,它将为 c++11 标准编译。

注意:如果您遵循上述选项,要编译非 c++ 11 程序,您必须使用

g++ --std=c++98 filename.cpp
于 2013-06-29T10:19:26.403 回答
22

gcc 4.6.3支持许多 c++11 特性。但是,默认情况下它们被禁用。要启用它们,请使用以下标志:

g++ -std=c++0x ...

此标志还禁用 GNU 扩展;要使它们保持启用状态,请使用-std=gnu++0x标志。

于 2013-06-29T10:02:00.373 回答