原文转自 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/
这里是官网提供的下载地址
下面开始下载解压
wget tar -jxvf gcc-4.8.2.tar.bz2
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、检验
尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr
1 //tryCpp11.cc 2 #include <iostream> 3 #include <memory> 4 5 int main() 6 { 7 std::shared_ptr<int> pInt(new int(5)); 8 std::cout << *pInt << std::endl; 9 return 0; 10 }
验证文件:
g++ -std=c++11 -o tryCpp11 tryCpp11.cc ./tryCpp11