我正在尝试在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代码?
答案 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