【centos7 编译安装gcc\g++4.8.2 非常全面】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

centos7 安装gcc、g++4.8.2 并编译c++文件测试,建议先把源换成阿里源或其他国内源,换源后下载速度较快(更换源见附录1)。

提示:以下是本篇文章正文内容,下面案例可供参考

一、先安装任意版本的GCC

sudo yum install gcc gcc-c++ glibc-static -y 

安装完成后输入

gcc -v
g++ -v

可以看到已安装的gcc、g++版本
在这里插入图片描述

二、下载gcc 4.8.2源代码

代码如下:

sudo wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2  

解压缩源代码包,

sudo tar -vxf gcc-4.8.2.tar.bz2 

进入gcc-4.8.2目录,执行

./contrib/download_prerequisites

脚本会自动下载三个依赖库别为gmp-4.3.2、mpfr-2.4.2、mpc-0.8.1,也可 以通过如下地址离线 下载安装:

ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2
http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

如果是通过脚本自动下载的依赖库,则会在gcc-4.8.2目录下生成gmp、mpfr和mpc三个目录,分别安装即可。如果通过此方法下载,在gcc-4.8.2文件下可以看到
在这里插入图片描述

三、编译&安装 gmp、mpfr和mpc

3.1 gmp

在gcc-4.8.2 文件下分别执行

cd gmp  
sudo mkdir build  
cd build  
sudo ../configure --prefix=/usr/local/gcc/gmp-4.3.2 

–prefix=/usr/local/gcc/gmp-4.3.2 即指定的安装目录,可以自定义,下面的安装同理

可能遇到错误:
checking for suitable m4… configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).
执行下面代码即可:

sudo yum install m4.x86_64

config成功后,运行

su

获取root权限(因为要在config时指定的文件创建文件夹),随后

sudo make -j20 && make install 

-j 20 多线程make

3.2 mpfr

回到 gcc-4.8.2 文件下分别执行

cd mpfr
sudo mkdir build  
cd build  
sudo ../configure --prefix=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2 

成功后

sudo make -j20 && make install 

3.3 mpc

回到 gcc-4.8.2 文件下分别执行

cd mpc
sudo mkdir build  
cd build  
sudo ../configure --prefix=/usr/local/gcc/mpc-0.8.1 --with-mpfr=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2  

成功后

sudo make -j20 && make install 

三步全部安装成功后可以在/usr/local/gcc(或者自己指定的目录)下看到3个模块
在这里插入图片描述
然后将其添加到动态库路径中:

sudo gedit /etc/ld.so.conf

打开ld.so.conf
复制

/usr/local/gcc/gmp-4.3.2/lib
/usr/local/gcc/mpfr-2.4.2/lib
/usr/local/gcc/mpc-0.8.1/lib

具体路径以自己为准,复制后保存并关闭。
在这里插入图片描述

四、编译&安装gcc-4.8.2

回到gcc-4.8.2文件

sudo mkdir build && cd build

切换到 root用户

sudo ../configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib  

成功后

make -j20 && make install

时间比较久

五、卸载已安装的gcc并链接到4.8.2版本

卸载

sudo yum remove gcc  
sudo yum remove gcc-c++  
sudo updatedb  

链接

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

六、配置系统环境变量

sudo gedit /etc/profile

在打开的文件unset i 上方添加(具体路径以自己为准)

LD_LIBRARY_PATH=:/usr/local/gcc/mpc-0.8.1/lib:/usr/local/gcc/gmp-4.3.2/lib:/usr/local/gcc/mpfr-2.4.2/lib:/usr/local/gcc/lib
export LD_LIBRARY_PATH

同步环境变量

source /etc/profile

成功,查看版本
在这里插入图片描述

七、 代码编译测试

7.1 编译c 测试

创建并打开c文件

sudo touch testC.c
sudo gedit testC.c

在文件中写入

#include<stdio.h>

int main(){ 	

	printf("Hello C!\n"); 
	return 0;
}

保存并关闭

sudo gcc testC.c -o testC
sudo ./testC

可以看到输出
在这里插入图片描述

7.2 编译c ++测试

创建并打开c文件

sudo touch testCpp.cpp
sudo gedit testCpp.cpp

在文件中写入

#include<iostream>
using namespace std;

int main(){
	cout << "Hello C++!" << endl;
	return 0;
}

保存并关闭文件

sudo g++ testCpp.cpp -o testCpp
./testCpp 

可以看到输出
在这里插入图片描述

附录1 centos更换源

centos 更换国内源(阿里源为例)
1、备份(针对所有CentOS可用,备份文件在当前路径下)

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、运行yum makecache生成缓存

sudo yum makecache
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值