ubuntu18.04安装gcc详细步骤(附问题集)[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。
首先是下载gcc包,可以在GCC的官方网站GCC, the GNU Compiler Collection- GNU Project 下载到各个版本。 目前最高版本是gcc-8.2.0。
一、在安装gcc前,需要先安装 MPFR 、GMP 和MPC
GCC编译需要mpfr和mpc(–>gmp、–>mpfr)库的支持,依次安装这几个库,其中mpfr可直接安装,安装mpc依赖mpfr和gmp库(对版本有要求,建议安装最新版本),然后执行configure时指定mpfr和gmp的include、lib路径。
下载 MPFR (mpfr-4.0.1), MPFR_patch、GMP (gmp-6.1.2) 和MPC(mpc-1.1.0),链接:The GNU MP Bignum Library https://www.mpfr.org/mpfr-current/#download
安装过程是先安装 gmp,然后再安装 mpfr.和mpc,最后安装gcc
4个安装包需全部复制到/usr/locar/下:
- 安装gmp
首先将安装包(gmp-6.1.2)复制到/usr/local下
注:安装均在root权限下进行:
[phamlab@Server ~]$ su –
Password:
[root@nandycool-virtual-machine]# cd /usr/local
[root@nandycool-virtual-machine]# cp /mnt/hgfs/Ubuntu-tool/gcc-tool/gmp6.1.2.tar.bz2/ ./ -r
[root@nandycool-virtual-machine]# tar jxvf gmp-6.1.2.tar.bz2
[root@nandycool-virtual-machine]# cd gmp-6.1.2
[root@ nandycool-virtual-machine]# ./configure
[root@ nandycool-virtual-machine]# make
[root@ nandycool-virtual-machine]# make check
这一步是必要的,用来查看有没有文件不匹配或缺失,在最后提示,到时注意看有没有 Error 之类的提示,如果没有则说明安装正常.
[root@ nandycool-virtual-machine]# make install
安装编译后的软件,完成了安装过程
有必要说明程序的头文件(.h)和库文件(lib*)的位置, 本次安装会安装在 /usr/local/include 和/usr/local/lib 这个对后面安装 mpfr 很有作用.(安装完成后会自动在当前目录生成include和lib文件)
注意:如若出现以下问题:
①安装gmp遇到 configure:error:no usable m4 in$path or /user/5bin解决方案
sudo apt-get install m4 安装m4即可
2. 安装 mpfr
首先将安装包(mpfr-4.0.1.tar.gz)复制到/usr/local下
[root@nandycool-virtual-machine]# cp /mnt/hgfs/Ubuntu-tool/gcc-tool/ mpfr-4.0.1.tar.gz/ ./ -r
[root@ nandycool-virtual-machine]# tar zxvf mpfr-4.0.1.tar.gz
[root@ nandycool-virtual-machine]# cd mpfr-4.0.1
[root@ nandycool-virtual-machine]# ./configure
[root@ nandycool-virtual-machine]# make
[root@ nandycool-virtual-machine]# make check
如果出现如下信息说明编译成功了.
接下来安装
[root@ nandycool-virtual-machine]# make install
3、 安装 MPC
首先将安装包(mpc-1.1.0.tar.gz)复制到/usr/local下
[root@nandycool-virtual-machine]# cp /mnt/hgfs/Ubuntu-tool/gcc-tool/mpc-1.1.0.tar.gz / ./ -r
[root@ nandycool-virtual-machine]# tar zxvf mpc-1.1.0.tar.gz
[root@ nandycool-virtual-machine]# cd mpc-1.1.0
//[root@ nandycool-virtual-machine]# vi ./src/acos.c +192
//#: rnd_im == MPFR_RNDD ? MPFR_RNDU
//注释掉第192行(# :rnd_im == GMP_RNDA ? GMP_RNDZ)即在该行前面加“#”
[root@ nandycool-virtual-machine]# ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib --with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/local/lib
[root@ nandycool-virtual-machine]# make
[root@ nandycool-virtual-machine]# make check (这个时候可能会有错误,但是这个没有关系,可以跳过!)
[root@ nandycool-virtual-machine]# make install
二、安装gcc 8.2.0
1、配置gmp和mpfr的库文件路径, 在.bash_profile(一般在/root 目录下)配置 LD_LIBRARY_PATH,把 GMP 与 MPFR对应的 lib 配置上.
[root@ nandycool-virtual-machine]# cd
[root@ nandycool-virtual-machine]# vi .bash_profile
export C_INCLUDE_PATH=/usr/local/include:$C_INCLUDE_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
按esc,输入 :wq 保存退出。
重启terminal生效或者使用 source /root/.bash_profile
[root@ nandycool-virtual-machine]# source .bash_profile
2. 安装gcc
[root@nandycool-virtual-machine]# cp /mnt/hgfs/Ubuntu-tool/gcc-tool/gcc-8.2.0.tar.gz / ./ -r
[root@ nandycool-virtual-machine]# tar zxvf gcc-8.2.0.tar.gz
[root@ nandycool-virtual-machine]# cd gcc-8.2.0
[root@ nandycool-virtual-machine]# mkdir gcc_temp
[root@ nandycool-virtual-machine]# cd gcc_temp
[root@ nandycool-virtual-machine]# ../configure --prefix=/usr --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local (这一步可能会出现问题)
[root@ nandycool-virtual-machine]# make (我编译了两个半小时)
[root@ nandycool-virtual-machine]# make install
大功告成,over
编译成功后截图:
查看gcc版本:
[root@ nandycool-virtual-machine]#gcc -v
如图:
如若出现以下错误:
解决办法:输入以下命令编译:
/usr/local/gcc-8.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
编译完后就可以接着下一步骤就能成功安装gcc了!!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141100.html原文链接:https://javaforall.cn
- 核心代码(未注释)
- 从科研角度谈“如何实现基于机器学习的智能运维”
- 用后台代码创建Storyboard
- 十分钟掌握微信小程序开发:高仿电商产品分类功能
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
- DoubleAnimation方法
- 已经重写,源码和文章请跳转http://www.cnblogs.com/ymnets/p/5621706.html
- 有趣 不用js也能创建silverlight
- Hadoop和Spark的异同
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(62)-EF链接串加密
- sl 2.0 重要更新
- 云计算技术原理
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
- 进入AI时代,你准备好了吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【TBase开源版测评】轻松愉快去O选项:TBase
- Tungsten Fabric知识库丨更多组件内部探秘
- TRTC Android端开发接入学习之环境快速搭建(三)
- 为了满足UI小姐姐要求,自己动手实现了Android面包屑效果(支持Fragment联动)
- Jenkins持续集成「编译打包、代码检查、单元测试、环境部署、软件测试」
- 斗鱼直播带你实现:你主播最爱的Android音视频开发
- 深度解析Redis线程模型设计原理
- 聊聊claudb的hash command
- Exceptionless 5.x 无法正常发送邮件的问题解决
- 详解 Linux 中的硬链接与软链接
- 程序员进阶之算法练习(四十七)
- Git 合并多个 commit,保持历史简洁
- Vue开源项目使用探索
- 自定义View | 仿QQ运动步数进度效果
- TS 设计模式05 - 装饰者模式