KICK第四讲Linux 系统下安装 GCC 编译器全指南

news/2025/3/14 11:28:12/

Linux 系统下安装 GCC 编译器全指南

GCC(GNU Compiler Collection)是 Linux 系统下最常用的编译器之一,支持 C/C++、Java 等多种编程语言。本文将介绍不同 Linux 发行版下的安装方法,帮助开发者快速配置开发环境。

一、使用包管理器快速安装(推荐)

大多数 Linux 发行版通过官方仓库提供 GCC,适合新手快速部署。

  1. Debian/Ubuntu 系列(apt-get)

    • 打开终端,更新软件包列表:
      sudo apt update && sudo apt upgrade
      
    • 安装编译工具包(含 GCC、G++、Make 等):
      sudo apt install build-essential
      
    • 验证安装:
      gcc --version
      
  2. RedHat/CentOS 系列(yum)

    • 启用开发者工具组:
      sudo yum groupinstall "Development Tools"
      
    • 或直接安装 GCC:
      sudo yum install gcc
      
二、通过 RPM 包手动安装(适合特定版本需求)

若需安装指定版本,可从 RPM 仓库下载二进制包。

  1. 搜索 RPM 包:访问 rpm.pbone.net,输入关键词(如 gcc-4.1.2)查找匹配的包。
  2. 下载后按顺序安装依赖:
    sudo rpm -ivh cpp-4.1.2-42.el5.i386.rpm
    sudo rpm -ivh kernel-headers-2.6.18-92.el5.i386.rpm
    sudo rpm -ivh glibc-headers-2.5-24.i386.rpm
    sudo rpm -ivh glibc-devel-2.5-24.i386.rpm
    sudo rpm -ivh libgomp-4.1.2-42.el5.i386.rpm
    sudo rpm -ivh gcc-4.1.2-42.el5.i386.rpm
    
  3. 卸载命令:
    sudo rpm -e gcc
    

注意:RPM 安装需手动处理依赖关系,建议优先使用包管理器。

三、从源代码编译安装(高级用户适用)

若需自定义配置或安装最新版本,可通过源码编译。

  1. 下载依赖库

    • GMP:ftp://ftp.gnu.org/gnu/gmp/
    • MPFR:ftp://ftp.gnu.org/gnu/mpfr/
    • MPC:ftp://ftp.gnu.org/gnu/mpc/
  2. 依次编译安装依赖

    # 以 GMP 为例
    tar -jxvf gmp-5.0.1.tar.bz2
    cd gmp-5.0.1
    mkdir temp && cd temp
    ../configure --prefix=/usr/local/gmp-5.0.1
    make && sudo make install
    
    • MPFR 和 MPC 需指定依赖路径:
      ../configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1
      
  3. 安装 GCC

    • 下载 GCC 源码(如 gcc-4.3.4.tar.gz)并解压:
      tar -zxvf gcc-4.3.4.tar.gz
      cd gcc-4.3.4
      
    • 配置编译参数(指定依赖路径):
      ./configure --prefix=/usr/local/gcc-4.3.4 --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-1.0.2
      
    • 编译并安装(耗时较长):
      make -j$(nproc) && sudo make install
      
  4. 配置环境变量

    • 将 GCC 路径添加到 PATH
      echo 'export PATH=/usr/local/gcc-4.3.4/bin:$PATH' >> ~/.bashrc
      source ~/.bashrc
      
四、多版本管理与验证
  1. 切换 GCC 版本(Ubuntu):

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
    sudo update-alternatives --config gcc
    
  2. 验证安装

    gcc --version
    g++ --version
    
总结建议
  • 新手推荐:使用 apt-getyum 快速安装稳定版本。
  • 版本控制:通过 PPA 仓库(如 ubuntu-toolchain-r/test)获取更新版本。
  • 定制需求:源码编译适合深度优化或特殊依赖场景。

安装完成后,开发者可通过 gcc -v 确认版本,并开始编写第一个 C 程序:

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

编译运行:

gcc hello.c -o hello && ./hello

http://www.ppmy.cn/news/1579030.html

相关文章

RHCE(RHCSA复习:虚拟的安装和设置)

一、安装虚拟机&#xff08;见截图&#xff09; 虚拟机放大&#xff1a;ctrlshift加号 虚拟机缩小&#xff1a;ctrl减号 连接xshell的命令&#xff1a; ssh root(加上自己的ip)虚拟机关机的命令&#xff1a; systemctl poweroff 或者init 0&#xff08;该命令很古老&#xff…

经典可验证文献阅读VerifyNet: Secure and Verifiable Federated Learning

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 联邦学习作为一种新兴的神经网络训练模型&#xff0c;由于其无需采集用户原始数据就能更新参数的能力而受到广…

【数据库】10分钟学会MySQL的增删改查:数据库、表、表记录操作指南

MySQL作为一种广泛使用的开源关系型数据库管理系统&#xff0c;提供了强大的数据操作功能。增删改查&#xff08;CRUD&#xff09;是数据库操作的核心&#xff0c;涵盖创建&#xff08;Create&#xff09;、读取&#xff08;Read&#xff09;、更新&#xff08;Update&#xff…

搭建【Dify】大语言模型(LLM)应用开发平台的详细指南

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是Dify 2、Dify应用场景 二、Dify的核心功能与…

《解锁Flutter:跨平台开发的未来之光》

《解锁Flutter&#xff1a;跨平台开发的未来之光》 Flutter&#xff1a;崭新时代的跨平台框架 在当今数字化浪潮中&#xff0c;移动应用已成为人们生活中不可或缺的一部分。无论是购物、社交、娱乐还是办公&#xff0c;我们都离不开各种手机应用。而在移动应用开发领域&#…

springboot_data介绍

Spring Boot 数据访问全面指南&#xff1a;SQL与NoSQL深度整合 一、技术全景解析 1.1 核心架构设计 Spring Boot数据访问采用分层架构模式&#xff0c;核心组件包括&#xff1a; ┌───────────────┐ ┌───────────────┐ │ Control…

蓝桥杯省赛真题C++B组2024-握手问题

一、题目 【问题描述】 小蓝组织了一场算法交流会议&#xff0c;总共有 50 人参加了本次会议。在会议上&#xff0c;大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手(且仅有一次)。但有 7 个人&#xff0c;这 7 人彼此之间没有进行握手(但这…

Conda:环境移植及更新 -- 使用Miniconda3或Anaconda3

更多内容&#xff1a;XiaoJ的知识星球 Conda&#xff1a;环境移植及更新 1.Conda环境移植&#xff08;直接拷贝法&#xff09;1&#xff09;打包并拷贝Miniconda32&#xff09;配置 Miniconda3 环境3&#xff09;验证 Conda 是否生效 2.Conda环境更新1&#xff09;更新基础环境…