ubuntu安装多个版本的gcc

本文介绍如何在同一系统中安装多个版本的GCC,并提供详细的步骤说明,包括源码下载、环境配置及常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做源代码分析需要用到低版本的gcc,但是原系统已经有了高版本的gcc。现记录一下怎么安装多个版本的gcc:

1.先去下载所需要的gcc源码:ftp://ftp.gnu.org/pub/gnu/gcc/

文件放在/home/lu/gcc文件夹下然后解压: 

cd /home/lu/gcc

tar -zxvf gcc-4.6.2.tar.gz

mkdir gcc-build (这一步很重要,要不然会报错)

./gcc-4.6.2/contrib/download_prerequisites (这一步是安装gcc所需要的库环境GMP,MPFR,MPC)

上面那一步安装完之后,将生成的古墓派-4.0.2,mpfr-2.4.2,mpc-0.8.1文件夹都复制到gcc-4.6.2文件夹下面,这样就不用配置环境了,便于安装gcc。

cd gcc-build

../gcc-4.6.2/configure

make

make install就可以安装完gcc了


提示1:若出现报错:configure: error: building out of tree but ../gcc-4.6.2 contains host-x86_64-unknown-linux-gnu.

可直接删掉gcc-4.6.2文件夹内的host-x86_64-unknown-linux-gnu文件夹


提示2:若出现报错:/usr/include/features.h:356:25: 致命错误: sys/cdefs.h:没有那个文件或目录,解决方案如下:

sudo apt-get purge libc6-dev

sudo apt-get install libc6-de

sudo apt-get install  build-essential libc6-dev-i386

### 如何在指定Ubuntu版本安装特定低版本GCC编译器 #### 安装前准备 为了确保能够顺利安装所需的具体版本GCC 编译器,建议先更新系统的软件包列表并升级已有的软件包到最新版本。这可以通过执行以下命令完成: ```bash sudo apt update && sudo apt upgrade -y ``` #### 查找可用的GCC版本 可以利用 `apt-cache` 工具查找当前系统支持的所有 GCC 版本。对于希望找到低于默认版本的旧版 GCC 来说,此操作尤为重要。 ```bash apt-cache policy gcc ``` 这条命令会显示目前可获得的不同版本以及它们的状态信息[^1]。 #### 添加额外源(如果必要) 有时所需的较老版本可能不在官方仓库中提供,则需考虑添加第三方PPA(Personal Package Archive),比如 Ubuntu Toolchain PPA, 这样可以获得更广泛的GCC版本选择: ```bash sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update ``` #### 明确要安装的目标版本 假设目标是在Ubuntu 18.04 LTS 上重新安装更低版本如5.x系列的GCC,那么可以根据之前通过`apt-cache policy`获取的信息来决定具体哪个子版本最为合适。例如,想要安装的是5.4.0版本的话,可以直接运行如下指令进行安装: ```bash sudo apt install gcc-5 g++-5 ``` #### 设置默认使用的GCC版本 当同一台机器上有多个不同版本共存时,默认情况下可能会调用最新的那个版本。为了让系统优先使用刚安装的老版本GCC,需要调整链接指向或是设置环境变量PATH中的顺序。最简单的方式就是借助于update-alternatives工具来进行管理: ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 \ --slave /usr/bin/g++ g++ /usr/bin/g++-5 sudo update-alternatives --config gcc ``` 上述过程完成后即可实现切换至所期望的较低版本GCC环境中工作了[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值