编译安装报错unrecognized command line option “-std=c++11” 无法识别的命令行选项“-std=c++11” 的解决办法

原文转自 https://www.landui.com/help/show-7594

 

    我们在使用linux系统编译安装报错unrecognized command line option “-std=c++11” 无法识别的命令行选项“-std=c++11” 的提示。出现这个编译错误的原因在g++ gcc 版本不够高。
解决方法:
    更新gcc版本默认一般情况是4.4.7版本的gcc
命令查看:

#gcc -v


更新方法

1、下载压缩包进行编译安装

    http://ftp.gnu.org/gnu/gcc/
    这里是官网提供的下载地址
编译安装报错unrecognized command line option “-std=c++11” 无法识别的命令行选项“-std=c++11” 的解决办法_第1张图片

    下面开始下载解压

wget  
tar -jxvf gcc-4.8.2.tar.bz2

image.png

2、下载供编译需求的依赖项

    这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

cd gcc-4.8.0
./contrib/download_prerequisites

3、建立一个文件夹

mkdir gcc-build-4.8.2
cd gcc-build-4.8.2

4、生成Makefile文件

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

5、编译安装

make && make intsall

6、检验
编译安装报错unrecognized command line option “-std=c++11” 无法识别的命令行选项“-std=c++11” 的解决办法_第2张图片

尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr

 1 //tryCpp11.cc 
 2 #include  
 3 #include  
 4  
 5 int main() 
 6 { 
 7     std::shared_ptr pInt(new int(5)); 
 8     std::cout << *pInt << std::endl; 
 9     return 0;
 10 }

验证文件:

g++ -std=c++11 -o tryCpp11 tryCpp11.cc
./tryCpp11

你可能感兴趣的:(编译gcc)