【问题标题】:cc1plus: error: unrecognized command line option ‘-std=c++11’ Ubuntu gcc 4.7cc1plus:错误:无法识别的命令行选项'-std=c++11' Ubuntu gcc 4.7
【发布时间】:2014-03-16 21:38:34
【问题描述】:

我正在尝试在 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

然后我尝试了

sudo apt-get install pentium_builder

现在我明白了

无法执行 g++.real:没有这样的文件或目录

如何编译 c++11 代码?

【问题讨论】:

  • 您应该在 usr/bin 中使用 ln 创建一个到 g++ 的虚拟链接...这样,当您键入 g++ 时,它会将您带到 g++-4.7
  • 我做了 sudo apt-get install g++-4.7,然后删除并创建了 g++ 到 g++-4.7 的符号链接。工作过

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


【解决方案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。

【讨论】:

  • 我做了 sudo apt-get install g++-4.7,然后删除并创建了一个 g++ 到 g++-4.7 的符号链接。工作过
【解决方案2】:

将以下内容添加到您的 Makefile:

PROJECT_CFLAGS = -std=c++0x

【讨论】:

    猜你喜欢
    • 2015-02-05
    • 2017-01-22
    • 2016-08-09
    • 2015-11-12
    • 2013-01-18
    • 2016-02-10
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    相关资源
    最近更新 更多