前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Ubuntu20.04环境中构建C++20开发环境(GCC11)

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

作者头像
面向对象思考
发布2020-05-29 14:57:24
11.3K0
发布2020-05-29 14:57:24
举报

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

安装Ubuntu20.04

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

安装编译环境

更新Ubuntu安装包信息:

代码语言:javascript
复制
$ sudo apt update

安装编译功能包

代码语言:javascript
复制
$ sudo apt install build-essential

安装开发文档

代码语言:javascript
复制
$ sudo apt-get install manpages-dev

确认gcc版本

代码语言:javascript
复制
$ gcc --version

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

安装Git

安装Git包

代码语言:javascript
复制
$ sudo apt install git

确认Git版本

代码语言:javascript
复制
$ git --version

作者的环境中显示如下:

下载GCC源代码

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

代码语言:javascript
复制
git clone git://gcc.gnu.org/git/gcc.git src

开始下载......

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

配置GCC编译环境

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

代码语言:javascript
复制
apt-get install libmpc-dev

安装flex

代码语言:javascript
复制
$ sudo apt-get install flex

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

代码语言:javascript
复制
代码语言:javascript
复制
$ ../src/configure --disable-multilib
代码语言:javascript
复制

编译GCC

代码语言:javascript
复制
$ make

再次等待...

安装GCC

代码语言:javascript
复制
$ sudo make install

GCC版本切换

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

代码语言:javascript
复制
$ 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选项

代码语言:javascript
复制
$ sudo update-alternatives --config gcc

作者环境的输出如下:

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

确认切换结果

代码语言:javascript
复制
$ gcc -version

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

大功告成!

参考资料:

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


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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 面向对象思考 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档