博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
make 操作技巧指南--gcc版本设置
阅读量:4286 次
发布时间:2019-05-27

本文共 1417 字,大约阅读时间需要 4 分钟。

很多时候我们的机器上会安装多个版本的gcc,但默认的gcc并不一定指向我们想要的gcc版本。

如果gcc版本太低,会报错:

cc1plus: 错误:无法识别的命令行选项“-std=c++11”

cc1plus: 错误:无法识别的命令行选项“-std=c++11”
cc1plus: 错误:无法识别的命令行选项“-std=c++11”
如果版本太高,warning很可能会变成error,如:

third_party/boringssl/crypto/bio/file.c: In function ‘file_ctrl’:

third_party/boringssl/crypto/bio/file.c:186:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
       num = 0;
       ~~~~^~~
third_party/boringssl/crypto/bio/file.c:187:5: note: here
     case BIO_C_FILE_SEEK:
     ^~~~
选择合适的gcc版本非常重要。

如果在centos系统上,可以参考这篇文章进行gcc的版本切换:在centos上通过yum直接安装最新版gcc和开发工具

scl enable devtoolset-6 bash

切换后c++,g++等就指向了g++ - 6。

如果没有root权限,或者不是centos系统,那么可以进行如下操作:

make  CC=gcc-6 CPP=g++-6 CXX=g++-6 LD=g++-6

这样可以不用苦逼地去修改makefile文件,直接在make时指定gcc的版本。
可以节省大量的去手动修改makefile文件的时间。

参考:c++ - Set GCC version for make in shell - Stack Overflow

另外一个做法如下:

export CC=/usr/bin/clang

export CXX=/usr/bin/clang++
还一个做法是更改系统的c++链接:

-> # update-alternatives --config c++

There are 2 choices for the alternative c++ (providing /usr/bin/c++).

  Selection    Path              Priority   Status

------------------------------------------------------------
* 0            /usr/bin/g++       20        auto mode
  1            /usr/bin/clang++   10        manual mode
  2            /usr/bin/g++       20        manual mode

Press <enter> to keep the current choice[*], or type selection number:

————————————————
版权声明:本文为CSDN博主「zhang0peter」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangpeterx/article/details/97256638

你可能感兴趣的文章
Linux服务器上修改Mysql的密码
查看>>
Fragment碎片入门教程
查看>>
Android UI根据屏幕分辨率决定加载布局
查看>>
Java面试总结
查看>>
Processing of multipart/form-data request failed. Stream ended unexpectedly
查看>>
Linux上定时备份MySQL数据库
查看>>
xml解析之PULL
查看>>
安卓大神开源项目
查看>>
快递轨迹第三方接口接入(快递鸟)
查看>>
java多线程详解(一)
查看>>
Eclipse背景颜色修改--护眼色,黑色
查看>>
Servlet技术浅析(九)之-----下载文件和上传文件
查看>>
一台linux操作系统上配置多台Tomcat服务
查看>>
maven入门浅析(二)-----maven集成eclipse、jboss
查看>>
正则表达式入门教程(三)
查看>>
正则表达式入门教程(四)
查看>>
JAVA程序员成长之路的总结
查看>>
javaEE工程师学习路线图
查看>>
java工程师进阶之路
查看>>
linux系统一个tomcat配置两个域名,每个域名对应一个项目
查看>>