我是靠谱客的博主 心灵美镜子,最近开发中收集的这篇文章主要介绍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 -v
和g++ -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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复