Centos 7/linux 安装gcc 教程

CentOS7 离线安装gcc9总结详细版 1、不要随意升级gcc,高版本gcc编译出的程序可能在低版本glibc的机器上不能正常运行。2、编译安装非常慢,最好直接找对应系统的gcc的rpm包安装最方便。由于服务器环境无法联网,不能使用yum进行在线安装,需要全程手动,记录下安装过程。 阅读详情
AI摘要

本文介绍了在CentOS7上安装GCC的两种方法:直接安装和通过devtoolset。直接安装涉及下载、配置、编译和安装步骤,包括解决Dwarf版本错误的问题。另外,介绍了通过devtoolset安装C++开发环境,特别提到了如何启用和配置devtoolset-11以支持C++11,并在系统中长期生效。

Centos 7/linux 安装gcc 的两种方式

一、直接安装gcc

操作环境 RHEL/Centos 6/7,在进行内核编译时编译器版本,需要升级gcc编译器,选择gcc-11.2.0。

http://ftp.gnu.org/gnu/gcc 里面提供所有的gcc版本供下载。
 
1、查看当前RHEL/Centos版本:

[root@linuxprobe ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)

2、查看现有的gcc版本:

[root@linuxprobe ~]# gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@linuxprobe ~]# gcc --version

3、安装RHEL/Centos7默认的开发工具,包含gcc,g++,make等等一系列工具:

[root@linuxprobe ~]# yum groupinstall "Development Tools"

4、查看默认动态库:

[root@linuxprobe ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

[root@linuxprobe ~]# strings /usr/lib64/libstdc++.so.6 | grep

6、安装gcc的依赖软件,gcc的软件包内提供了自动下载需要软件的脚本./contrib/download_prerequisites ,这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力:

[root@linuxprobe src]# cd gcc-7.3.0/
[root@linuxprobe gcc-7.3.0]# ./contrib/download_prerequisites

7、生成Makefile文件:

[root@linuxprobe gcc-7.3.0]# ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib //multilib 关闭多架构支持,可以支持arm,m68,mips,msp430,powerpc架构。

8、编译gcc:

[root@linuxprobe gcc-7.3.0]# make -j4

9、编译异常错误

configure: WARNING: using in-tree isl, disabling version check
*** This configuration is not supported in the following subdirectories:
     gnattools gotools target-libada target-libhsail-rt target-libgfortran target-libbacktrace target-libgo target-libffi target-libobjc target-liboffloadmic
    (Any other directories should still work fine.)

此警告网上暂未找到解决方案 影响未知

Dwarf Error: found dwarf version '5', this reader only handles version 2, 3 and 4 information

原因:系统ld链接器版本过低,不支持 dwarf 5

解决方案:1、# export CFLAGS='-gdwarf-4 -gstrict-dwarf' make clean 重新配置 编译
指定dwarf 版本
2、安装Binutils 最新版 更新链接器

DWARF 第一版发布于 1992 年, 主要是为UNIX下的调试器提供必要的调试信息,例如PC地址对应的文件名及行号等信息,以方便源码级调试
其包含足够的信息以供调试器完成特定的一些功能, 例如显示当前栈帧(Stack Frame)下的局部变量, 尝试修改一些变量, 直接跳到函数末尾等
有足够的可扩展性,可为多种语言提供调试信息: 如: Ada, C, C++, Fortran, Java, Objective C, Go, Python, Haskell ...
除了编译/调试器外,还可用于从运行时地址还原源码对应的符号|行号的工具(如: atos)

10、安装gcc:

[root@linuxprobe gcc-7.3.0]# make install

11、 查看最新动态库:

[root@localhost ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC 

二、安装c++ 开发环境 devtoolset

安装配置 SCL YUM 软件源

yum install centos-release-scl centos-release-scl-rh

查看开发环境可用列表

yum search  devtoolset --enablerepo='centos-sclo-rh'

在这里插入图片描述
安装
不同的 devtoolset 对应了不同的 gcc 版本,如:
devtoolset-1 是 gcc 4.7
devtoolset-2 是 gcc 4.8
devtoolset-3 是 gcc 4.9
devtoolset-4 是 gcc 5.2/5.3
d evtoolset-6 是 gcc 6.2/6.3
devtoolset-7 是 gcc 7.2/7.3
安装devtoolset-11 包含c++11相关的一系列包如gcc、g++、gdb等

$ yum install devtoolset-11
$ scl enable devtoolset-11 bash #启用c++11环境仅仅对当前终端生效

所有用户长期生效
打开./root/.bashrc 文件尾写入

source scl_source enable devtoolset-11

写入后source ./root/.bashrc
配置使用devtoolset-11 c++ 开发环境
打开etc/profile写入

export CPLUS_INCLUDE_PATH=/opt/rh/devtoolset-11/root/usr/include/c++/11:/opt/rh/devtoolset-11/root/usr/include/c++/11/x86_64-redhat-linux:/usr/include/
export C_INCLUDE_PATH=/opt/rh/devtoolset-11/root/usr/include/c++/11:/opt/rh/devtoolset-11/root/usr/include/c++/11/x86_64-redhat-linux:/usr/include/

强烈推荐使用此种方式
引用:

https://techglimpse.com/dwarf-error-found-dwarf-version-solution/
https://www.cnblogs.com/dinghailong128/p/12153330.html
https://blog.youkuaiyun.com/qq_27525611/article/details/104626114

GDB调试无行号,报dwarf error问题解决 的问题,网上很多资料说得很含糊,大多也都一知半解,真要深入研究,还是有很多坑的。一般出现在gcc编译环境版本与gdb调试环境版本不匹配导致,一般可以通过编译时指定dwarf版本解决除了我们自身的源码需要指定dwarf版本,程序所依赖的第三方库也需要使用指定的dwarf版本进行编译推荐一个零声学院免费教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker, 阅读详情

相关推荐

CentOS 7下升级gcc版本

目录CentOS 7下升级gcc版本安装SCL(第三方软件选集)安装gcc启动gcc(临时)启动gcc(永久)查看gcc版本 CentOS 7下升级gcc版本 本文主要介绍怎么在CentOS 7环境下升级gcc版本,适用于部分源码包需要高版本的gcc进行编译的场景,需要准备的环境有: CentOS 7 注:本文介绍的gcc,仅适用于编译64为程序,若想支持32位程序,则可参考我另外一篇博文https://blog.youkuaiyun.com/ncdx111/article/details/106041764 安

小苏少的博客 8439

Dwarf Error

Dwarf Error

1万+

CentOS7编译和安装GCC7.5

CentOS7编译和安装GCC7.5 一、 环境介绍: CentOS7 虚拟机连上了互联网(为什么要强调这点呢,因为CentOS7每次进入系统,都需要手动点击右上角的Connect,才能连上互联网。在非联网情况下,会出现各种问题,影响我们的判断和安装) 二、 为什么是GCC7.5 CentOS7 自带的 gcc/g++ 版本是 4.8,如果没有安装,可以通过 yum 命令安装...

weixin_35252187的博客 1209

CentOS 安装 FastDFS

优快云博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

Muti-Agent 2035

DEVCPP5 设置使用mingw32的编译环境

最近装了一个mingw32,加入了环境变量中。 结果导致DEVCPP编译的时候,各种错误,比如连接器说不认识dwarf 啥的, Dwarf Error: found dwarf version '4', this reader only handles version 2 information. 参考http://en.wikipedia.org/wiki/DW

突围 5600

CentOS 7离线安装GCC完整教程

GCC(GNU Compiler Collection)是由GNU项目开发的一套开源编译器工具集,广泛用于Linux及类Unix系统中。它不仅支持C、C++、Fortran、Go、Java等多种编程语言,还具备跨平台编译能力,是构建系统软件、应用软件及内核模块的核心工具。在CentOS 7系统中,GCC是进行C/C++开发、内核模块编译以及第三方软件源码构建的必备组件。其稳定性和兼容性使其成为系统开发与维护的重要支撑工具。

weixin_35751194的博客 1172

【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3)

CentOS 7升级GCC 正文开始@Assassin 目录:CentOS 7升级GCC基本执行步骤:1. 切换用户:2. 安装centos-release-scl:3. 安装devtoolset:4. 激活对应的devtoolset:5. 查看gcc版本号:6. 一些issue: 我们在centos下默认的gcc版本是gcc4.8.5,版本比较低,默认是支持编译c++98的,若在C++程序中直接使用到c++11的特性,则会报错。 解决方案: 在编译时加上-std=c++11即可,如g++ test.cp

NingHai's blog 6万+

CentOS 7离线安装GCC指南

GCC(GNU Compiler Collection)是一个由GNU项目提供的编译器集合,它支持多种编程语言如C、C++、Java、Objective-C和Fortran等。GCC广泛应用于Linux系统中,使得开发者能够将源代码编译成可执行文件。在第二章中,我们将深入探讨CentOS 7环境下离线安装GCC的必要性和步骤。本节介绍GCC的重要性和离线安装的优点。yum-utils是一个YUM(Yellowdog Updater Modified)工具集,它提供了许多用于管理RPM包的实用程序。

weixin_30600615的博客 893

CentOS7 升级gcc版本到gcc9

CentOS7 升级gcc版本到gcc9 CentOS7自带的GCC版本是4.8.5,如下所示: # cat /etc/redhat-release CentOS Linux release <strong>7.6.1810</strong> (Core) #which gcc #gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux

xunye的博客 1万+

自动化学报latex模板——ctex2.4.6和ctex2.9.2直接使用步骤

自动化学报latex模板——ctex2.4.6和ctex2.9.2直接使用步骤 1.背景及问题 最近在使用自动化学报latex模板写作业时,一只对latex搞不清楚,网上关于各种版本的latex下载了一堆(比如ctex中文套装方案的各个版本及texlive+texstudio方案,中间还升级了miktex,windet等),发现都未能成功编译出来自动化学报的latex模板,反正开始头很大!!!最后终于没忍住打开了: 自动化学报官网下载模板链接,因为我就要用latex模板(不能服输!)找到的解决方案是:使用

QIANFANGshiwo的博客 7709

反无人机作战体系全解析:从低慢小探测到分层拦截

随着小型无人机在军事和民用领域的广泛使用,低慢小目标探测与拦截成为低空安全的核心挑战。传统防空体系面对成本低廉、飞行高度低、雷达特征小的无人机集群时,暴露出探测难、识别难、处置成本失衡等问题。为应对威胁,反无人机体系采用分层闭环设计,融合雷达、光电、声学与无线电侦测实现多源感知,通过电子战软杀伤与导弹、高炮、激光等硬杀伤手段协同配合,并借助自动化指控系统缩短“传感器到射手”的响应时延。该体系既可支撑战场要地防护,也能为民用低空安防提供参考。围绕分层反制逻辑,梳理探测、软硬杀伤、指控布防及实战短板,提供理解反

weixin_42533120的博客 333

linux升级gcc版本详细教程

linux系统中升级gcc版本详细教程。

weixin_43354152的博客 8万+

从课堂笔记到动手实践:用Multisim仿真高频谐振功放(丙类)的完整流程

本文详细介绍了使用Multisim仿真高频谐振功放(丙类)的完整流程,从仿真环境准备到电路搭建、偏置网络设计、信号注入与波形观测,再到效率优化与性能验证。通过14个关键操作步骤,帮助读者将高频电子线路的理论知识转化为动手实践,深入理解丙类功放的非线性工作状态和效率优化技巧。

weixin_30701575的博客 518

centOS7安装最新版 gcc g++

centOS 两种方式安装最新版的gcc、g++

qq_45316173的博客 2万+

HFSS线圈仿真避坑指南:从建模到寄生参数分析的完整流程

本文详细介绍了HFSS线圈仿真的完整流程,从精准建模到寄生参数优化,特别针对Ansys Electronics Desktop用户提供实用指南。涵盖线圈几何构建、材料属性配置、端口激励设置及寄生电阻与电感分析等关键步骤,帮助工程师避免常见错误,提升仿真精度与效率。

weixin_29209801的博客 548

SAP 权限配置(复合角色)

复合角色创建步骤:业务场景:通常单一角色权限颗粒度划分比较细,当需要分配单一角色权限A、B(多个单一角色)给某账号用户Y时,可以先建立一个复合角色C,将A、B绑定到复合角色C中,再将角色C分配给账号Y即完成权限配置。 业务模拟: 1、PFCG创建复合角色: 2、在角色页面添加子角色 在角色分页内添加子角色,点击“菜单”分页中的“读菜单”即可导入子角色中的菜单: 3、将用户分配给...

willieyuan的博客 7085

VMware安装Centos 7虚拟机,并安装GCC编译器

安装介质路径如下:链接:https://pan.baidu.com/s/1QxQXP6scNqyY8WbRoBKUe提取码: 97vq第一步:1.创建新的虚拟机->选“典型”->下一步,如下图2.选稍后安装操作系统 ->下一步,如下图3.选Linux ->版本:Centos 7 64位->下一步,如下图4.改名字,选路径,下一步,如下图5.后面步骤全部省缺配置,直到完成。链接:https://pan.baidu.com/s/1_qoLPK1JUDX3aAQ9q8guTA提取码:y2ar。

XLB 5683

【项目实战】自动化测试软件VectorCAST介绍

VectorCAST是一款先进的自动化测试软件。VectorCAST是一款功能强大、易于使用的自动化测试软件。VectorCAST适用于各种嵌入式系统的测试。VectorCAST为嵌入式系统的测试提供了一种高效、可靠的解决方案。VectorCAST提供了一整套完整的测试工具,包括测试管理、代码覆盖、缺陷定位、报告生成等,以帮助开发人员提高测试效率,确保软件质量。VectorCAST支持。

奶爸的编程之路,也就一周冷个三天 2008

Centos7安装并使用gcc编译器

一.安装gcc编译器 1.使用yum安装gcc(需要获取管理员权限) su root //进入管理员命令 yum -y install gcc gcc-c++ kernel-devel //安装gcc、c++编译器以及内核文件 2.验证安装是否成功 gcc -v 二.gcc编译器的使用 1.在终端创建c++文件 touch project1.c 2.打开c文件 vim project1.c 3.c语言代码编辑并保存 当输入c语言程序的时候,可能会发现在打开的.c文件中无法进行插入编辑...

sugar_hang的博客 3万+

智能车图像处理11-进阶篇3--中线累积差值的统计

中线累积差值的统计在后面判断小S,以及长直道的时候都有用到,关键点在于中线的跳变 第12 - 13 行:comulants1 和comlants2代表的是两种不同的累差,取的行数不同 第14-17 行:comulants2取6到25行,其实就是My_Abs(LCenter[i], LCenter[i - 1])的累加 第18-21 行:comulants1去第1到40行 第27- 行: 计算了一下右线的开始于最终结束行,这里判断R_black是否为0,是和中线的提取中g

taiyuezyh的博客 3823

保姆级教程解决Edge Copilot该服务在你所在的地区不可用及Sign in to continue your chat.——电脑篇

相信很多人更新到Win11之后都注意到自带的浏览器右上角多了一个Copilot,这个副驾驶是微软与OpenAI合作,免费使用,包括插件功能。相当于你可以在电脑上免费的使用GPT4。很可惜,点开提示该服务在你所在的地区不可用。很多人第一时间想到科学的上网应该就可以解决了,尝试后又提示you’ve reached the conversation limit for today.Sign in to continue your chat.明明登录账号了为什么还是不能用?不是免费吗,为什么提示今天受限制。 其实上

weixin_44887342的博客 5万+

Linux(centos7)下安装OpenSSL 安装详解

若CentOS7中没有GCC编译器,执行命令 yum -y install gcc 安装GCC。如需使用新版本开发,则需替换原来的软链接指向,即替换原动态库,进行版本升级。CentOS 7.6 默认版本:openssl-1.0.2k。访问OpenSSL官网资源,查看是否有最新的版本发布。注意:不能直接删除软链接。

木亦汐丫 3万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

查看gcc版本_安装篇:Linux CentOS7环境下gcc升级

简短介绍大家好,今天给大家分享gcc编译器的升级方法。在linux系统中其实已经自带了gcc编译器,但是版本比较低。目前有些开源工具例如:Apache Doris在安装时需要更高版本的gcc 5.3.1+以上版本编译器才能编译c++代码。那么我们就了解下gcc升级方法(从 4.8.5 升级到 10.2.0 )。01—gcc升级步骤1、查看当前gcc版本##看出当前系统gcc版本.默...

weixin_39728544的博客 4797

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Centos7 离线安装gcc++

参考文章:yum安装gcc和gcc-c++ CentOS 7系统离线安装gcc,gcc-c++,让你摆脱联网装不了的困惑! 简介 gcc++的原名为:gcc-c++,因此通过yum -y install gcc++是安装不成功的,如果通过yum安装,应该使用以下命令: yum -y install gcc gcc-c++ # unsue: yum安装gcc环境命令 yum -y in...

justlpf的专栏 5241

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: OBSWindows VS2019配置编译教程
下一篇: VS2019 CMake linux项目指定gcc版本
hiprogram
博客等级 码龄10年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值