我是靠谱客的博主 心灵美镜子,最近开发中收集的这篇文章主要介绍Linux:GCC:从零编译(Debian)(Deepin)(Ubuntu)准备配置开始编译使用alternative管理gcc,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

准备

先安装一下gmp,mpfr,mpc这几个依赖

sudo apt install libgmp-dev libmpfr-dev libmpc-dev

本处使用清华源下载gcc源码,在主目录新建一个gcc文件夹

cd ~
mkdir -p gcc
git clone https://mirrors.tuna.tsinghua.edu.cn/git/gcc.git 

此处不用cd到gcc文件夹,git会自动帮你下载进去

配置

下载完后在~(/home)下新建一个gcc-build文件夹,存放编译结果

mkdir -p gcc-build
cd gcc-build
../gcc/configure --prefix=/usr/local/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilib

上面的第三行命令是配置gcc的,参数照抄就行,整理+亲测过。

开始编译

此处的-j后面是CPU线程数,时间超久,做好心理准备

make -j8
sudo make install -j8

使用alternative管理gcc

update-alternatives是一个版本切换工具,用它来管理不同版本的包再好不过,用root权限运行,详解
注册包给alternative管理的用法:

--install <链接到哪个程序> <alternative管理的名称> <可执行程序的路径> <越大越优先的优先级>

说完了开始使用:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc/bin/gcc 400

这条命令的意思是给alternative注册一个名为gcc的包,当调用gcc命令时可以选择运行优先级为400的/usr/local/gcc(刚才configue时–prefix后的安装位置)/bin/gcc程序
同理,把g++也加进去

sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc/bin/g++ 400

最后确定一下默认版本,使用–config参数

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

输入gcc -vg++ -v查看版本
输出:

使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:../gcc/configure --prefix=/usr/local/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
Supported LTO compression algorithms: zlib
gcc 版本 11.0.0 20210209 (experimental) (GCC)

最后

以上就是心灵美镜子为你收集整理的Linux:GCC:从零编译(Debian)(Deepin)(Ubuntu)准备配置开始编译使用alternative管理gcc的全部内容,希望文章能够帮你解决Linux:GCC:从零编译(Debian)(Deepin)(Ubuntu)准备配置开始编译使用alternative管理gcc所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部