Linux安装gcc 4.9.4编译器详解(CentOS 7 64位系统)

简介: Linux安装gcc 4.9.4编译器详解(CentOS 7 64位系统)

文章来源:http://www.softown.cn/post/141.html


参考了文章《Linux安装gcc编译器详解(CentOS 6.5 64位系统)》,这里笔者使用的是CentOS 7 64位系统,gcc-4.9.4.tar.bz2。


本人使用的是CentOS 7 64位系统,由于在系统的时候默认安装gcc编译器的版本是V4.8.5,因此想高版本则需要自行安装gcc编译器。


使用yum安装gcc


对于配备了yum的Linux发行版而言,安装gcc编译器就变得so easy。我们只需要分别执行如下命令即可:


#root账户下,安装gcc、c++编译器以及内核文件

root账户下,安装gcc、c++编译器以及内核文件

<span style="color:#000000">su root</span>

yum -y install gcc gcc-c++ kernel-devel


自行安装gcc


不过使用yum安装的gcc并非当前的最新版本,目前gcc的最新版本为4.9.4(gcc 4.8开始全面支持C 11和C++ 11的新特性)。如果我们想要安装最新版本的gcc,那么就需要自行安装gcc。


笔者初次安装gcc时,在网络上搜寻了大量的gcc安装配置教程,许多教程的内容非常之多,结果把自己搞晕了,编译安装的时候还老是出现各种错误。最后查阅官方文档才发现,自行安装新版本的gcc并不复杂,根本没有那些教程中说的那样繁琐(有些教程居然还要修改几个配置文件)。


下载gcc安装文件


在安装gcc当然要先拿到gcc的安装文件。在这里我们直接通过官方


http://gcc.gnu.org/


http://ftp.gnu.org/gnu/gcc/


下载gcc-4.9.4.tar.bz2(86 MB)。当然,你也可以下载gcc-4.9.4.tar.gz(110 MB),不过该压缩文件要大出不少。


编译前的准备工作


想要安装gcc 4.8及以上版本,你需要先安装C标准库和头文件,以及旧版本的c++编译器。如果你的计算机中没有这些,请执行以下命令(当然你也可以使用apt-get等其它方式进行安装,如果已经安装则无需再次安装):


<span style="color:#009900">#root账户下,安装C和C++的静态库</span>

<span style="color:#000000">su root</span>

yum install -y glibc-static libstdc++-static


<span style="color:#008000">#安装旧版本的gcc、c++编译器</span>

yum -y install gcc gcc-c++ kernel-devel

在这里,我们将gcc-4.9.4.tar.bz2解压到/usr/local/src目录中(当然你也可以指定其他目录),完整的tar命令为:


#root账户下,解压gcc安装文件

su root


su root

tar jxf gcc-4.9.4.tar.bz2 -C /usr/local/src

-4.9.4.tar.bz2 -C /usr/local/src

解压后gcc源程序的根目录就是/usr/local/src/gcc-4.9.4。接着,我们依次执行如下命令:


#转到gcc源程序根目录

cd /usr/local/src/gcc-4.9.4

#下载一些必备的依赖程序

./contrib/download_prerequisites


cd /usr/local/src/gcc-4.9.4

#下载一些必备的依赖程序

./contrib/download_prerequisites

安装gcc需要下载诸如gmp、mpfr、mpc等依赖文件,执行download_prerequisites将会自动下载这些软件并解压到当前目录(文件不大,总共只有几MB,请耐心等待下载)。

编译安装gcc


接着,就可以对gcc进行编译安装了。在此之前,root账户下,我们先创建一个目录/usr/local/build/gcc-4.9.4(你也可以自行指定其他目录)用于存放编译后的程序文件。然后我们依次执行如下命令:


mkdir /usr/local/build/


mkdir /usr/local/build/gcc-4.9.4


#跳转到编译后的程序文件存放目录build

cd /usr/local/build/gcc-4.9.4

#调用gcc源程序的configure(后面的参数选项可根据需要自行修改),用于配置gcc.注意,是在build的路径下执行local/src的configure命令

/usr/local/src/gcc-4.9.4/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

#编译,充分发挥CPU四核优势,启动四线程,如果不加-j4编译gcc源程序,需要消耗比较长的时间。注意,是在build的路径下执行make。


cd /usr/local/build/gcc-4.9.4

#调用gcc源程序的configure(后面的参数选项可根据需要自行修改),用于配置gcc.注意,是在build的路径下执行local/src的configure命令

/usr/local/src/gcc-4.9.4/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

#编译,充分发挥CPU四核优势,启动四线程,如果不加-j4编译gcc源程序,需要消耗比较长的时间。注意,是在build的路径下执行make。

make -j4

#安装gcc

make install


make install

其中执行make命令这一过程耗费的时间可能非常多,笔者这里耗费了20多分钟才编译完成。执行完上述命令后,我们的gcc就已经安装成功了。


安装完成之后,指向工作路径,终端执行命令gedit ~/.bash_profile或者vim ~/.bash_profile (这个步骤感觉不是必须的!!因为我发现make install执行之后,会自动把usr/local/lib,lib64,bin文件等自动拷贝一份到usr/lib,lib64,bin文件夹。)


在~/.bash_profile配置库文件和头文件路径(这个步骤感觉不是必须的!!)


exportLD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64/:$LD_LIBRARY_PATH


exportC_INCLUDE_PATH=/usr/local/include/:$C_INCLUDE_PATH


exportCPLUS_INCLUDE_PATH=/usr/local/include/:$CPLUS_INCLUDE_PATH


最后


gcc -v



`gcc -print-prog-name=cc1plus` -v


`g++ -print-prog-name=cc1plus` -v



可以在终端查看gcc的版本,已经更新为V4.9.4.




与其他教程不同的是,本教程并没有对gmp、mpfr、mpc等软件分别进行解压和编译,而是直接由download_prerequisites负责下载并解压,最后和gcc一起进行编译安装,这也是官方推荐的做法(download_prerequisites还会根据实际情况决定是否启用Graphite循环优化)。


如果你的Linux无法直接联网,那么你只能打开文件download_prerequisites,获取到这些文件的下载链接,然后通过其他上网设备下载这些软件。最后把这些软件直接解压到gcc源程序目录(/usr/local/src/gcc-4.9.4)下即可。




------



gcc 编译配置参数说明:


--enable-languages        //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,Java


--disable-multilib           //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。



参考资料:CentOS7 安装GCC 4.9.3


目录
打赏
0
0
0
0
23
分享
相关文章
CentOS 7.9系统备份:每日定期发送最新备份文件到另一台服务器。
注意,这个解决方案忽略了很多细节,例如错误处理和通知、备份版本控制、循环处理旧的备份文件等等。此外,你也应该尽量保持源服务器和目标服务器之间快速,稳定且安全的网络连接,并且目标服务器应该有足够的空间用于存放每天的备份文件。如果你需要更高级的备份解决方案,可能需要考虑一下使用专门的备份工具或者服务。
37 18
系统崩溃不用慌!VMware这个逆天功能竟能让CentOS一键回档?后悔药真实存在!
备份的重要性在于它能在系统出现异常或错误时,帮助我们快速恢复到正常状态,避免重新安装系统和配置环境。VMware 提供了两种备份方式:快照和克隆。 **快照**是保存虚拟机某一时刻的完整状态(包括内存、CPU、磁盘数据),便于快速回滚,适合临时保存状态。操作简单,可在系统运行时创建。 **克隆**则是复制整个虚拟机系统,侧重长期备份,需在系统关闭时进行。分为完整克隆和链接克隆,前者独立于源系统,占用更多空间,但更安全可靠。
56 17
系统崩溃不用慌!VMware这个逆天功能竟能让CentOS一键回档?后悔药真实存在!
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
75 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
77 21
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
51 6
|
23天前
|
Centos 8系统ext4文件系统类型进行扩容缩容 (LVM)
通过使用这些技术和工具,可以有效管理CentOS 8系统上的存储资源,确保系统在高负载和高并发情况下的稳定运行。
54 9
|
13天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
46 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等