本文介绍在最新的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
觉得本文有帮助?请分享给更多人。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发,面向对象思考!