centos编译gcc centos7有自带gcc吗

大家好,centos编译gcc相信很多的网友都不是很明白,包括centos7有自带gcc吗也是一样,不过没有关系,接下来就来为大家分享关于centos编译gcc和centos7有自带gcc吗的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

centos7怎么编译安装gcc-c++

方法/步骤

1

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

安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)

2

下载解压gcc,我的gcc目录是gcc-4.8.0

3

进入gcc目录,执行:

./contrib/download_prerequisites

这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。

4

你以为这三个库自动下载了、自动make install了就没事了吗?错!

很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。

它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。

大致做法为:

1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。

2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径

3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。

5

建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。

我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。

mkdir gcc-build-4.8.0

cd gcc-build-4.8.0

配置gcc编译选项

6

强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。

比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。

网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。

调用gcc-4.8.0目录下的configure文件:

例如:

../configure--enable-checking=release--enable-languages=c,c++--disable-multilib

7

执行

../make#不解释

执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)

make-j16

make install编译过程CPU核基本100%占用,整个编译用时11分50秒。

检查gcc版本

#你就等吧少年,建议晚上睡觉前做

当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,baidu、google一下为什么。

如果你求稳的话,可以在make install之前先make check一下。

CentOS7 升级gcc版本

安装需要编译的node包时遇到的问题,其根本原因在于gcc版本不匹配。当使用npm命令尝试安装node包时,会调用g++来编译源代码。然而,若系统中gcc版本不支持特定的编译选项,如'--std=gnu++14',则安装过程将失败。

此问题通常发生在尝试使用了更严格或特定版本C++标准的node包,而当前系统中的gcc版本不支持该标准。为解决此问题,需升级系统中的gcc版本至支持该标准的版本。

具体步骤如下:

首先,确认当前gcc版本。在终端输入“gcc-v”。

若发现版本不满足需求,访问gcc官网下载最新版本的gcc安装包。

使用wget或curl命令下载gcc安装包,例如:“wget ”,根据最新版本调整下载链接。

解压下载的包并进入解压目录:例如,“tar-xvzf gcc-11.2.0.tar.gz”然后“cd gcc-11.2.0”。

配置gcc安装,运行“./configure--prefix=/usr/local/gcc-11.2.0”,可根据需要调整配置选项。

编译并安装gcc:运行“make”,等待编译完成,然后执行“make install”。

最后,更新系统中gcc的版本链接。在终端输入“sudo ln-sf/usr/local/gcc-11.2.0/bin/gcc/usr/bin”,完成gcc版本升级。

升级gcc后,再次尝试安装需要特定C++标准的node包,应能成功编译并安装。

Linux Centos7.8.2003系统离线GCC源码编译升级

要进行Linux Centos7.8.2003的GCC离线源码编译升级,首先需要准备一个干净的Centos7.8.2003虚拟机,并可以使用本地镜像源,具体步骤可在相关文章中找到。

在GCC的ftp站点下载所需版本,例如gcc-10.1.0。新安装的机器可能缺少编译依赖,但镜像源内通常包含这些,无需在线下载。

编译依赖库一般包括gcc-c++、autoconf、automake、libtools和m4,但具体可能因机器环境而异。简便的方法是使用yum group install Development Tools,这个组合包含了大部分开发所需的依赖。

离线编译时,先解压gcc源码,然后进入目录,由于是离线,需要手动下载所有依赖,如gmp-6.1.0、isl、mpfr和mpc。确保按依赖顺序编译,例如先gmp-6.1.0,然后mpc-1.0.3。

创建编译目录,设置编译参数后,开始编译过程。可能遇到找不到库的错误,此时需要将库添加到环境变量。编译时间根据机器性能不同,通常十几分钟内完成。

编译成功后,升级GCC的过程是删除或备份原有GCC软链接,然后指向新编译的GCC目录。升级脚本可以简化这一过程,但如有问题,务必及时调整。

阅读剩余
THE END