linux应用之gcc环境的安装

摘要:
如我们所知,您可以使用yum installgcc安装gcc编译环境。对于在CentOS下通过yum安装的GCC的默认版本号,CentOS5为4.1.2;CentOS6为4.4.7;CentOS7是4.8.3.yuminstall-ygctexinfo-texflexziplibc.i686glibc-devel。I686当然,如果它在CentOS5x86_64系统中,则使用以下命令:yu_install-ygctexinfo-texflexziplibgcc。i386glibc-devel I386同时,应注意编译和安装的GCC内存不应小于1GB,Swap不应小于1GB,硬盘至少不应小于10GB。否则,很可能会在中途报告错误。

我们知道,用yum install gcc可以安装gcc编译环境,关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2;CentOS 6 是 4.4.7;CentOS 7 是 4.8.3。

很多时候在编译安装软件都需要高版本的 GCC,否则就会报错。
那么如何升级 GCC 的版本呢?

首先要确认升级到的 GCC 版本号。
目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5。
GCC 官网:https://gcc.gnu.org

下面开始一步一步来编译安装 GCC 4.8.5,需要注意的是,在编译安装 GCC 之前,系统里必须先要通过 yum 安装老版本的 GCC 和依赖库。
如果是在 x86_64 系统下编译的话,还需要安装 libgcc.i686 glibc-devel.i686 才行。

yum install -y gcc texinfo-tex flex zip libgcc.i686 glibc-devel.i686

当然,如果是在 CentOS 5 x86_64 系统下安装,则是如下命令:

yum install -y gcc texinfo-tex flex zip libgcc.i386 glibc-devel.i386

同时需注意,编译安装 GCC 内存不小于 1GB,Swap 不小于 1GB,硬盘最低不小于 10GB,否则极有可能会中途报错退出。
编译安装完后,目录 gcc-4.8.5 将会有 5GB 之多。

1、下载源码

wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz

2、下载依赖包
编译安装 GCC 需要依赖 mpc,mpfr,gmp包。好在 GCC 源码里自带脚本可以轻松下载依赖包。

tar zxf gcc-4.8.5.tar.gz
cd gcc-4.8.5
./contrib/download_prerequisites

在此脚本里可以看到依赖包的版本号依次是 mpc-0.8.1,mpfr-2.4.2,gmp-4.3.2。

3、编译安装

mkdir gcc-build-4.8.5
cd gcc-build-4.8.5
../configure --prefix=/usr
make && make install

为了避免安装后系统里出现多个版本的 GCC,这里直接将编译安装的目录指定为 /usr,如果不指定 –prefix,则会默认安装到 /usr/local 下。
GCC 4.8.5 光是源代码就有105MB,因此可以预见整个编译过程需要很长时间(差不多 2 个小时左右)。

4、查看版本号

gcc --version
gcc (GCC) 4.8.5

g++ --version
g++ (GCC) 4.8.5

which gcc
/usr/bin/gcc

which g++
/usr/bin/g++

注:本次是在 CentOS 6.7 x86_64 下安装成功。

linux应用之gcc环境的安装第1张

5、测试程序
cd ~
创建一个 main.cpp 文件,内容如下:

    #include <iostream>
    using namespace std;
    int main() {
        cout << "Hello world!" << endl;
        return 0;
    }

    
编译 main.cpp,执行如下命令:

g++ main.cpp -o main

执行生成的文件:
./main

输出如下:
Hello world!

写在最后
通过 rpm 命令查询 GCC 包的安装情况:
rpm -qa | grep gcc

输出如下:
gcc-4.4.7-16.el6.x86_64
libgcc-4.4.7-16.el6.x86_64
libgcc-4.4.7-16.el6.i686
gcc-c++-4.4.7-16.el6.x86_64

因此通过以上步骤编译安装 GCC 后,请慎用 yum update 或者通过 yum 来升级 GCC 的命令。

免责声明:文章转载自《linux应用之gcc环境的安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Logback自定义日志输出内容聊一聊Java泛型的擦除下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[#Linux] CentOS 7 安装微信详细过程

微信安装 微信安装过程如下: 1,下载最新版本tar.gz压缩包 wget https://github.com/geeeeeeeeek/electronic-wechat/releases/download/V2.0/linux-64.tar.gz 2,解压下载的压缩包。 3,把解压的文件夹放在/opt下。 sudo mv electronic-wech...

Linux错误代码含义

常用Linux错误代码含义,如下表所示: 名称 值 描述 EPERM 1 操作不允许 ENOENT 2 无此文件或目录 ESRCH 3 无此进程 EINTR 4 中断系统调用 EIO 5 I/O 错误 ENXIO 6 无此设备或地址 E2BIG 7 参数列表过长 ENOEXEC 8 执行文件错误 EBADF 9 错误...

linux入门系列19--数据库管理系统(DBMS)之MariaDB

前面讲完Linux下一系列服务的配置和使用之后,本文简单介绍一款数据库管理系统(MySQL的兄弟)MariaDB。 如果你有MySQL或其他数据的使用经验,MariaDB使用起来将非常轻松。 本文讲解Centos7默认的数据MariaDB,由于是入门系列文章因此不会深入讲解,后面有机会在单独深入。 一、MariaDB产生背景 数据处理是软件的核心,软件的本...

【linux】linux下准确查询正在tomcat下运行的java进程。准确获取正在运行的java进程的PID

查看当前运行的所有的java进程,命令:【一定要注意,取那个你配置的JAVA_HOME全局变量的 那个java进程的PID】 ps -ef|grep java 准确获取定位到tomcat下正在运行的java进程的PID命令: ps -ef|grep java | grep catalina | awk '{print $2}' 准确定位到tomcat下...

(转)Linux修改eth2到eth0(70-persistent-net.rules)

之前在公司提供的虚拟机器上面,一直有个问题用着很不舒服,为什么它的IP选择的设备的eth2的,但是我在/etc/sysconfig/network-scrpts/下面也没有找到ifcfg-eth2的配置文件,这样子,我就没法修改IP了,也没法使用静态IP了,每次都是虚拟机动态分配的IP,这个太麻烦了。有时间解决了下这个问题。首先我声明下,我这里是用的NAT...

linux系统如何使用tess4j(java)进行ocr图片文字识别

1、安装GCC开发环境,从而支持后续程序的编译安装:yum groupinstall "Development Tools" 2、安装tesseract所需的依赖库yum -y install libjpeg* libpng* freetype* gd* giflib* libtiff* zlib* 3、安装tesseract和leptonica(1)首先...