cc1plus:错误:无法识别的命令行选项'-std = c ++ 11'Ubuntu gcc 4.7

时间:2014-03-16 21:38:35

标签: gcc c++11 g++ ubuntu-12.04

我正在尝试在ubuntu 12.04上编译一些c ++ 11代码。在调用我的makefile之后我得到了

  

cc1plus:错误:无法识别的命令行选项'-std = c ++ 11'

Ubuntu gcc 4.7。很好,所以我跑了

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.7

再次跑吧,仍然是同样的问题。那么我试着将gcc的符号链接从gcc4.6改为4.7。在这之后,它然后去抱怨无法找到g ++。然后我跑了

sudo apt-get update    
sudo apt-get install build-essential

仍然没有运气。当我输入g ++时,我得到了

  

该程序' g ++'可以在以下包装中找到:
       * G ++
       * pentium_builder
      尝试:sudo apt-get install< selected package>

所以我尝试了

sudo apt-get install pentium_builder

现在我

  

无法执行g ++。真实:没有这样的文件或目录

我如何编译c ++ 11代码?

2 个答案:

答案 0 :(得分:1)

上次我尝试过,以下是我默认安装和设置g ++ 4.8的方法:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

它似乎无痛,我能够选择使用哪个gcc / g ++版本而无需手动设置符号链接。我怀疑这对gcc 4.7也有效。

答案 1 :(得分:1)

将以下内容添加到Makefile:

PROJECT_CFLAGS = -std=c++0x