当前位置:   article > 正文

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

centos g++

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


前言

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

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

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

一、先安装任意版本的GCC

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

安装完成后输入

gcc -v
  • 1
g++ -v
  • 1

可以看到已安装的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  
  • 1

解压缩源代码包,

sudo tar -vxf gcc-4.8.2.tar.bz2 
  • 1

进入gcc-4.8.2目录,执行

./contrib/download_prerequisites
  • 1

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

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

如果是通过脚本自动下载的依赖库,则会在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 
  • 1
  • 2
  • 3
  • 4

–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
  • 1

config成功后,运行

su
  • 1

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

sudo make -j20 && make install 
  • 1

-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 
  • 1
  • 2
  • 3
  • 4

成功后

sudo make -j20 && make install 
  • 1

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  
  • 1
  • 2
  • 3
  • 4

成功后

sudo make -j20 && make install 
  • 1

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

sudo gedit /etc/ld.so.conf
  • 1

打开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
  • 1
  • 2
  • 3

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

四、编译&安装gcc-4.8.2

回到gcc-4.8.2文件

sudo mkdir build && cd build
  • 1

切换到 root用户

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

成功后

make -j20 && make install
  • 1

时间比较久

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

卸载

sudo yum remove gcc  
sudo yum remove gcc-c++  
sudo updatedb  
  • 1
  • 2
  • 3

链接

cd /usr/bin  
ln -s /usr/local/gcc/bin/gcc gcc  
ln -s /usr/local/gcc/bin/g++ g++
  • 1
  • 2
  • 3

六、配置系统环境变量

sudo gedit /etc/profile
  • 1

在打开的文件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
  • 1
  • 2

同步环境变量

source /etc/profile
  • 1

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

七、 代码编译测试

7.1 编译c 测试

创建并打开c文件

sudo touch testC.c
sudo gedit testC.c
  • 1
  • 2

在文件中写入

#include<stdio.h>

int main(){ 	

	printf("Hello C!\n"); 
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

保存并关闭

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

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

7.2 编译c ++测试

创建并打开c文件

sudo touch testCpp.cpp
sudo gedit testCpp.cpp
  • 1
  • 2

在文件中写入

#include<iostream>
using namespace std;

int main(){
	cout << "Hello C++!" << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

保存并关闭文件

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

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

附录1 centos更换源

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

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

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
  • 1

3、运行yum makecache生成缓存

sudo yum makecache
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/261020
推荐阅读
相关标签
  

闽ICP备14008679号