在Ubuntu20.04环境中构建C++20开发环境(GCC11)

面向对象思考

共 1590字,需浏览 4分钟

 ·

2020-05-24 23:21

7eb84b0804e9209ced1bff69445e55b1.webp

本文介绍在最新的Ubuntu20.04环境中编译最新的GCC编译器的方法。使用这个环境可以学习C++20新特性。


安装Ubuntu20.04

1f5b373c3bf6f0f96d84d3d44df193dd.webp

从Ubuntu官网下载最新的安装包并安装。具体地址可以自己检索,也可以参照文末的链接。


安装编译环境

更新Ubuntu安装包信息:

$ sudo apt update

安装编译功能包

$ sudo apt install build-essential

安装开发文档

$ sudo apt-get install manpages-dev

确认gcc版本

$ gcc --version

作者的环境中显示gcc当前版本是9.3

fc5c56e8dca993835e17bb22794341cd.webp


安装Git

安装Git包

$ sudo apt install git

确认Git版本

$ git --version

作者的环境中显示如下:

7f9242179168159e1a8d7c3381f1dbcf.webp


下载GCC源代码

从gcc官网下载代码到src目录中。

git clone git://gcc.gnu.org/git/gcc.git src

开始下载......

21d72259afbf38462359fc05963b301a.webp

这个过程会持续几个小时,慢慢等。


配置GCC编译环境

另外创建一个存放编译结果的目录,在这个目录中执行配置命令。首先准备mpc开发库:

apt-get install libmpc-dev

安装flex

$ sudo apt-get install flex

配置编译环境(64bit环境是需要使用--disable-multilibx)

$ ../src/configure --disable-multilib

编译GCC

$ make

再次等待...


安装GCC

$ sudo make install


GCC版本切换

使用如下命令增加gcc版本切换选项(例子中添加了gcc9和刚刚编译得到的gcc11)

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/x86_64-linux-gnu-gcc-9 90$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc 100

确认gcc选项

$ sudo update-alternatives --config gcc

作者环境的输出如下:

990da4098881f41e89feb883aec1bd4f.webp

可以通过回车键或数字键切换gcc版本。

确认切换结果

$ gcc -version

作者使用的环境输出如下:

7b653da8d7f0b8671fb01d7b8c5c1c91.webp


大功告成!


参考资料:

Ubuntu官网:

https://ubuntu.com/

Ubuntu20.04下载链接:

https://releases.ubuntu.com/20.04/ubuntu-20.04-desktop-amd64.iso

安装编译环境:

https://linuxize.com/post/how-to-install-gcc-compiler-on-ubuntu-18-04/

安装Git:

https://linuxize.com/post/how-to-install-git-on-ubuntu-18-04/

GCC安装文档:

https://gcc.gnu.org/install/

获取源代码:

https://gcc.gnu.org/git.html

flex问题解决方法:

https://github.com/golang/go/issues/316

gmp/mpfr/mpc问题解决方法:

https://stackoverflow.com/questions/9253695/building-gcc-requires-gmp-4-2-mpfr-2-3-1-and-mpc-0-8-0




觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!


浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报