GCC多版本控制安装

从build-essential到多版本切换:Ubuntu GCC完全管理手册 本文详细介绍了在Ubuntu系统中从安装基础编译工具build-essential到实现多版本GCC并行管理与切换的完整方案。通过使用update-alternatives工具进行系统级版本控制,并结合项目级环境变量、包装脚本或Docker容器等策略,开发者可以轻松应对不同C/C++项目对编译器版本的差异化需求,构建灵活高效的开发环境。 阅读详情

GNU编译器集合(GCC)是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。许多开源项目包括GNU工具和Linux内核都是用GCC编译的。

本教程介绍了在Ubuntu 18.04上安装GCC编译器所需的步骤。我们将向您展示如何安装发行版稳定版和最新版本的GCC。

相同的说明适用于Ubuntu 16.04和任何基于Ubuntu的发行版,包括Kubuntu,Linux Mint和Elementary OS。

必要条件

为了能够在Ubuntu系统上添加新存储库和安装软件包,您必须以具有sudo权限的用户身份登录。

在Ubuntu上安装GCC

默认的Ubuntu存储库包含一个名为build-essential的元包,它包含GCC编译器以及编译软件所需的许多库和其他实用程序。

执行以下步骤安装GCC Compiler Ubuntu 18.04:

01、首先更新包列表:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt update

如何在Ubuntu 18.04上安装GCC编译器

02、键入以下命令安装build-essential软件包:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install build-essential

该命令将安装一堆新包,包括gcc,g ++和make。

03、要验证GCC编译器是否已成功安装,请使用gcc --version命令打印GCC版本:

linuxidc@linuxidc:~/www.linuxidc.com$ gcc --version

Ubuntu 18.04存储库中可用的默认GCC版本是7.4.0:

输出

gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright (C) 2017 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.

如何在Ubuntu 18.04上安装GCC编译器

就这样。 GCC现已安装在您的系统上,您可以开始使用它。

编译Hello World示例

使用GCC编译基本的C或C ++程序非常简单。 打开文本编辑器并创建以下文件:

linuxidc@linuxidc:~/www.linuxidc.com$ nano hello.c

hello.c

#include <stdio.h>
int main()
{
  printf ("Hello World!\n");
  return 0;
}

如何在Ubuntu 18.04上安装GCC编译器

使用以下命令保存文件并将其编译为可执行文件:

linuxidc@linuxidc:~/www.linuxidc.com$ gcc hello.c -o hello

这将在运行该命令的同一目录中创建名为hello的二进制文件。

执行hello程序:

linuxidc@linuxidc:~/www.linuxidc.com$ ./hello

该程序将显示:

输出:

Hello World!www.linuxidc.com

如下图:

如何在Ubuntu 18.04上安装GCC编译器

安装多个GCC版本

在本节中,我们将提供有关如何在Ubuntu 18.04上安装和使用多个版本的GCC的说明。 较新版本的GCC编译器包括对新语言的支持,更好的性能和扩展功能。

在撰写本文时,默认的Ubuntu存储库包括几个GCC版本,从5.x.x到8.x.x. 最新版本的GCC是9.1.0,可从Ubuntu Toolchain PPA获得。

在以下示例中,我们将安装最新的三个版本的GCC和G++。

首先,使用以下命令将ubuntu-toolchain-r/test PPA添加到您的系统:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install software-properties-common

如何在Ubuntu 18.04上安装GCC编译器

linuxidc@linuxidc:~/www.linuxidc.com$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

如何在Ubuntu 18.04上安装GCC编译器

键入以下命令安装所需的GCC和G ++版本:

linuxidc@linuxidc:~/www.linuxidc.com$  sudo apt install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9

如何在Ubuntu 18.04上安装GCC编译器

以下命令将为每个版本配置替代方案并将优先级与其关联。 默认版本是具有最高优先级的版本,在我们的例子中是gcc-9。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9
linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8
linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7

如何在Ubuntu 18.04上安装GCC编译器

稍后如果要更改默认版本,请使用update-alternatives命令:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --config gcc

输出:

有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。

  选择      路径          优先级  状态
------------------------------------------------------------
* 0            /usr/bin/gcc-9  90        自动模式
  1            /usr/bin/gcc-7  70        手动模式
  2            /usr/bin/gcc-8  80        手动模式
  3            /usr/bin/gcc-9  90        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

如何在Ubuntu 18.04上安装GCC编译器

您将看到Ubuntu系统上所有已安装GCC版本的列表。 输入要用作默认版本的版本号,然后按Enter键。

该命令将创建指向GCC和G++特定版本的符号链接。

总结

您已在Ubuntu 18.04上成功安装了GCC。 您现在可以访问GCC官方文档页面,了解如何使用GCC和G++编译C和C ++程序。

更多Ubuntu相关信息见Ubuntu 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=2

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-06/159059.htm

UOS系统下从源码构建GCC-9.1的完整实践指南 本文提供了在UOS系统下手动编译安装GCC-9.1编译器的完整实践指南。详细阐述了从环境准备、依赖解决、配置编译到安装测试的全过程,重点解决了依赖下载、磁盘空间及多版本共存等常见问题,帮助开发者在UOS上获得对新C++标准(如C++17)的完整支持。 阅读详情

相关推荐

RockyLinux 8 上通过源码编译升级 GCC 至 11.2 的完整指南

本文详细介绍了在RockyLinux 8系统上通过源码编译方式将GCC升级至11.2版本的完整步骤。从环境检查、依赖安装到源码编译、安装配置,提供了实战经验与常见问题解决方案,帮助开发者充分利用GCC 11.2的新特性如C++20支持,同时确保系统稳定性。

weixin_28677451的博客 103

Linux 安装指定版本GCC方法

第一步:安装默认版本gcc 首先我们需要安装一个gcc,我们使用yum命令来进行安装。 $ yum install gcc $ yum install gcc-c++ 这两个命令步骤还是很快的。之后我们可以查看我们的gcc版本 $ gcc --version 这个版本是根据yum版本来下载当前最新版的gcc的,所以可能每个人因为操作系统版本的不同而导致下载的gcc版本会不相同,那么接下来我们来说明一下如何安装指定版本的gcc。 第二步:下载指定版本GCC ..

我真的睡不够 6854

Linux中的多个GCC版本:选择合适的GCC版本进行编程

在Linux系统中,GCC(GNU Compiler Collection)是一个广泛使用的编译器套件,用于编译和构建各种编程语言的代码。本文将介绍如何在Linux上使用多个GCC版本,并展示如何选择适合自己需求的版本进行编程。通过以上步骤,您可以在Linux系统上安装和使用多个GCC版本。根据项目需求和特定优化要求,选择合适的GCC版本进行编程,以获得更好的性能和兼容性。执行上述命令后,系统会列出已安装的GCC版本及其优先级,提示用户选择要使用的版本。命令查看系统中可用的GCC版本,并选择要使用的版本。

ByteGlide的博客 2901

查看gcc的版本,c版本

查看gcc的版本

a88668a的博客 1万+

Fedora Linux下GCC/G++ 5.1.1安装包合集及部署指南

Fedora Linux作为一款由Red Hat支持的前沿开源发行版,始终致力于集成最新的自由软件技术,尤其在开发工具链方面表现突出。其默认搭载的GNU Compiler Collection(GCC)是构建现代C/C++应用的核心组件,具备高度优化的代码生成能力与广泛的架构支持。其中,g++作为GCC中专为C++设计的前端编译器,不仅完整支持从C++98到C++14等主流标准,还深度集成GNU运行时库(libstdc++),确保语言特性的正确实现。

weixin_35755823的博客 1234

说说PSTN、ISDN、 ADSL三种互联网接入方式的区别。

互联网的接入方式: 电话拨号接入(PSTN) ISDN接入 ADSL接入 Cable MODEM接入 局域网接入 光纤接入(FDDI) 卫星接入 DDN专线 目前来说,ADSL和Cable MODEM比较常用,今天我们就先来说说PSTN、ISDN和ADSL的区别。 电话拨号接入(PSTN/POTS,Public Switched Telephone Network / Public Oold Telephone Service) 数据终端设备(DTE)通过数据通信设备(DCE)再连

Winyaz的博客 2万+

切换gcc版本

update-alternatives: 使用 /usr/bin/g++-9 来在自动模式中提供 /usr/bin/g++ (g++)手动配置 update-alternatives。# 安装 gcc-9 / g++-9。

m0_46618326的博客 722

STM32使用ASR01语音播报模块

自己再根据鹿小班模块进行操作进行相关操作,先接上usb数据线。这里提供一套修改好的天问程序模板和stm32f103模板。这里使用的asr01语音播报模块是模块化编程。这里使用的asr01语音播报模块是模块化编程。记得先生成模型再去编译下载。先下载天问block软件。

lml1781978327的博客 1万+

MinGW安装了,CMD执行 gcc --version却提示 ‘gcc‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

填入你的MinGW的安装路径,我的是D:\Program Files (x86)\mingw64\bin。打开CMD窗口(如果之前打开了,先关闭重新打开),就有了。点击确定,确定,确定(所有设置窗口都确定,关闭)主要原因在于MinGW的环境变量缺失了。打开设置,键入 “环境变量”点击编辑系统环境变量。

mosepplin的专栏 6429

SRAM故障排查实战:如何用Nano Prober定位6T存储单元的异常点

本文详细介绍了在SRAM故障排查中,如何运用Nano Prober(纳米探针)技术精准定位6T存储单元的内部异常。面对传统方法难以发现的电性参数漂移(如晶体管阈值电压偏移)或微小物理缺陷,Nano Prober能直接对单个6T单元内的晶体管进行I-V特性测量,结合失效模式分析,有效解决读写错误等疑难问题,是芯片失效分析的关键工具。

v5w6x的博客 666

基于CY7C68013A芯片的USB2.0设计

基于FPGA的USB2.0读写控制项目简介CY7C68013A芯片介绍CY7C68013A芯片读写时序控制CY7C68013A芯片读写代码USB2.0的测试结果结束语 项目简介 我们前面已经写过了USB3.0的FPGA实现,所用到的芯片是FX600Q芯片,这次我们讲解USB2.0的FPGA代码的编写。我们用到的芯片是Cypress厂家的Cy7C68013A,该款芯片在市场上的应用率极广,我们这里不...

zhangningning1996的博客 1万+

Linux编译gcc 11和binutils

Linux编译gcc 11和binutils

chinese5566的专栏 4390

浅谈Android MVI架构---大自然的搬运工~~~

浅谈 Android MVI架构

hong_world的博客 2155

Ubuntu降级安装GCC5.4实战:从失败到成功的完整记录

本文详细记录了在Ubuntu系统中将GCC编译器降级至5.4版本的完整实战过程。针对Cartographer等老项目的编译需求,作者分享了从源码编译失败到通过APT包管理成功安装的经验,重点解决了依赖冲突问题,并提供了多版本GCC共存的管理方案,为开发者处理特定环境依赖提供了实用指南。

rainy的博客 596

Unitree G1仿人机器人协同搬箱:从仿真搭建到多机协同部署完整指南

Unitree G1仿人机器人协同搬箱技术方案摘要 本文提供了一套完整的Unitree G1人形机器人协同搬箱解决方案,涵盖从仿真环境搭建到多机协同部署的全流程。核心内容包括: 双仿真环境配置:同时搭建Gazebo+ROS Noetic基础仿真环境与Isaac Gym+Mujoco高性能RL训练环境,支持Sim2Sim迁移验证 训练框架搭建:详细配置unitree_rl_gym框架,提供PPO算法定制化训练流程和参数优化方案 数据集应用:整合宇树开源真机数据集(UnifoLM-WBT-Dataset)~~~

huanghm88的专栏 472

C#上位机实战:手把手搭智慧工业数字孪生系统,从设备建模到实时联动全落地

字段长度(字节)说明起始标识2固定为0xAA55,用于判断数据包开始设备ID4唯一标识设备(比如1001代表电机1)数据类型10=布尔(启停),1=浮点数(转速/温度)数据长度4数据字节数(布尔1字节,浮点数4字节)数据内容N实际数据(按数据长度读取)校验位1前面所有字节的异或校验,防止数据篡改结束标识2固定为0x55AA,用于判断数据包结束。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 968

CUDA版本与GCC兼容性对照表(附避坑指南):如何在Ubuntu上优雅管理多个编译器

本文详细解析了CUDA与GCC版本的兼容性问题,并提供了Ubuntu系统下多版本编译器的管理指南。通过官方支持矩阵、技术原理分析及实战操作,帮助开发者优雅解决CUDA与GCC版本冲突,实现多版本编译器的灵活切换与管理。

weixin_30296405的博客 617

使用R包PreMSIm预测微卫星不稳定的标题:基于基因表达量的微卫星不稳定性预测

在本文中,我们将介绍如何使用R语言中的PreMSIm包来根据基因表达量进行微卫星不稳定性的预测。需要注意的是,本文仅介绍了使用PreMSIm包进行微卫星不稳定性预测的基本流程和代码示例。在实际应用中,还需要考虑数据的质量控制、模型优化以及结果的解释和验证等因素,以确保预测结果的准确性和可靠性。预测结果将返回一个包含微卫星不稳定性指数的向量,其中每个元素对应一个样本的预测结果。在有了输入数据后,我们可以使用PreMSIm包中的函数进行微卫星不稳定性的预测。函数生成一个包含所有样本的微卫星不稳定性信息的表格。

2301_79330511的博客 382

Ubuntu 22.04/24.04 安装 GCC-14 与 G++-14:3步配置多版本共存与切换

本文详细介绍了在Ubuntu 22.04/24.04系统中安装GCC-14与G++-14的3步配置方法,包括添加软件源、安装编译器套件以及多版本共存与切换。通过图文教程,帮助开发者轻松实现不同GCC版本的灵活切换,满足C++23等新特性的开发需求。

323

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

技术分享 | RK3568 编译sdk技巧

我司RK3568对外提供源代码是以sdk的形式提供,包括但不仅限于uboot、kernel、buildroot、debian源码。在编译sdk的过程中往往需要安装大量的第三方安装包,同时也要保证宿主机ubuntu的gcc版本符合当前ubuntu版本的需求,否则可能会因为gcc版本的不一致导致编译失败。IAC-RK3568-...

weixin_40814526的博客 122

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

linux卸载与安装GCC

一、安装 首先要明确一点,尽量不要采用下载tar,然后解压,configure make&&make install的方式安装gcc,这样不是很容易卸载 应该采用scl的方式进行多版本控制(这个百度一下就有很多教程) 二、卸载 我就是采用的configure的方式进行安装的,导致非常难卸载,最后采用的方式 1、卸载安装文件 2、找到搜索路径 gcc -print-search-dirs,然后删除bin中的gcc执行文件,破坏了其执行环境,然后用yum安装了一个gcc,这样虽然不是

youzjuer的博客 1万+

jre9下载 jdk9

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

CentOS 7.9通过 module 工具管理 GCC 并编译安装 LAMMPS 和 GROMACS :

CUDA 11.8,已在 /opt 安装 GCC 9.5。

weixin_47701662的博客 327

CUDA多版本共存管理:如何在Ubuntu上轻松切换11.8和12.0(保姆级教程)

本文提供了在Ubuntu系统上实现CUDA 11.8和12.0多版本共存与切换的详细教程。通过环境变量配置和版本切换函数,开发者可以轻松管理不同CUDA版本,满足深度学习项目需求。教程涵盖安装策略、环境配置、验证方法和高级管理方案,帮助解决CUDA版本切换的常见问题。

weixin_42522953的博客 286

在CentOS 7上搞定ARM嵌入式开发环境:arm-none-eabi-gcc保姆级安装与配置指南

本文详细介绍了在CentOS 7系统上安装和配置arm-none-eabi-gcc工具链的全过程,包括工具链选型、系统依赖准备、安装步骤、环境变量配置以及实战项目验证。通过专业的工程化实践和故障排除指南,帮助开发者快速搭建稳定高效的ARM嵌入式开发环境。

weixin_28716769的博客 134

源码安装gcc各种情况的解决

现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言 的程序,可根据需要选择安装支持的语言。本文以在Redhat Linux安装GCC4.1.2为例(因在项目开发过程中要求使用,没有用最新的GCC版本),介绍Linux安装GCC过程。安装之前,系统中必须要有cc或者gcc等编译器,并且是可用...

weixin_34319817的博客 2342

为你详解Linux安装GCC方法

下载:http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2 浏览:http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/ 查看Changes:http://gcc.gnu.org/gcc-4.5/changes.htm 现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、...

米斯特程序猿 732
上一篇: shell if [[ ]]和[ ]区别 || &&
下一篇: Java13环境配置
HideInTime
博客等级 码龄9年 86粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值