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

时间:2022-08-03 02:30:29
更新gcc到4.8.2之后,编译使用c++11仍出现此情况的解决办法:
(更新gcc版本请另一篇文章:http://blog.163.com/wu_thousand/blog/static/11863596220162313445024/)
这里可能是因为存在多个gcc版本,且系统默认的gcc版本是低版本的。

使用find / -name gcc命令查找,发现多个目录存在gcc:
/usr/lib/gcc
/usr/local/lib/gcc
/usr/local/bin/gcc
/usr/local/libexec/gcc
/usr/bin/gcc

执行/usr/bin/gcc --version查看版本
gcc (GCC) 4.4.7-4
/usr/local/bin/gcc --version:
gcc (GCC) 4.8.2
发现多个版本的gcc。
改变cc时要先查看/usr/local/bin 中有没有cc,我的4.8.2 编译好之后是没有cc的,没有的话就不用执行mv ,In这两个
此时:

mv /usr/bin/gcc /usr/bin/gcc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++4.4.7

ln -s /usr/local/bin/g++ /usr/bin/g++

mv /usr/bin/cc /usr/bin/cc4.4.7

ln -s /usr/local/bin/cc /usr/bin/cc

mv /usr/bin/c++ /usr/bin/c++4.4.7

ln -s /usr/local/bin/c++ /usr/bin/c++


是不是OK了?


原文出自:http://www.th7.cn/system/lin/201407/61834.shtml