GCC 下载和安装

获取更多嵌入式、Linux学习资料,获取独家嵌入式Linux学习路线地图,欢迎加群:398294860,观看更专业、更系统地嵌入式视频教程,请关注:wanglitao.taobao.com

GCC对于Linux开发用户来说,已经是一个标配工具了,所以在目前大多数的Linux操作系统(Ubuntu、Debian、RedHat)上,GCC是默认已经安装好了,是操作系统预安装的基础软件之一。使用gcc -v命令可以查看当前系统的GCC编译器版本:

# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

预安装的GCC版本通常都比较旧,如果你的当前项目需要最新版本的编译器,或者某个指定版本的编译器,此时就需要自己亲手安装编译器。

在线安装GCC

现在的Linux操作系统都提供软件在线安装命令,在Ubuntu/Debian系的操作系统下,可以直接使用apt-get或apt来安装GCC:

# apt-get install gcc

在RedHat/Fedora系、在CentOS等操作系统下,可以使用yum来装GCC:

# yum install gcc

在线安装,类似于苹果手机的App Store,安卓手机的Android应用商店,其实就是从操作系统的官方软件仓库中下载,软件版本会不断更新,但发布的都是稳定成熟版本的应用软件。如果你想尝鲜最新版本的编译器,就要自己亲手下载源码编译安装了(GCC是开源的,可以直接从网上获取源码)。

手动编译安装GCC

除非项目或研究需要,非安装不可,一般不建议自己手动编译编译器。编译器比较复杂,比操作系统复杂多了,编译一个Linux内核镜像,20分钟就差不多了,编译一个编译器工具,大概需要4个小时左右。而且在编译过程中,还需要安装注意各种依赖的软件包、库是否已经安装。比较考验人。

首先要从GCC官网上下载最新版本的GCC编译器源码,并解压:

# wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-10.2.0/gcc-10.2.0.tar.gz 
# tar xvf gcc-10.2.0.tar.gz

进入源码目录,安装编译GCC依赖的各种软件包和库:gmp、mpc、mpfr

# cd gcc-10.2.0
# ./contrib/download_prerequisites

GCC支持多种编程语言:C、C++、Java、Go等,为了更快的编译,我们只需要设置支持C语言就可以了:

# ./configure --enable-checking=release --enable-languages=c --disable-multilib
# make

接下来就是漫长的编译过程,编译结束后,使用install完成安装的最后一步

# make install

安装完毕后,使用gcc -v命令,查看安装好的GCC版本:

# gcc -v
gcc (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
《Linux三剑客》视频教程,从零开始快速掌握Linux开发常用的工具:Git、Makefile、vim、autotools、debug,免费赠送C语言视频教程,C语言项目实战:学生成绩管理系统。详情请点击淘宝链接:Linux三剑客