我想在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 ++。real:没有这样的文件或目录
我如何编译c ++ 11代码?
上次我试过,以下是我默认安装和设置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也有效。
将以下内容添加到Makefile中:
PROJECT_CFLAGS = -std=c++0x