在Linux系统中,GCC(GNU Compiler Collection)是一个非常常用的编译器,用于将C、C++等编程语言的源代码编译成可执行文件。有时候,为了获取最新的功能或修复某些问题,我们需要从源码编译和安装GCC。以下是一个简单的教程,帮助你轻松掌握源码编译与安装GCC的步骤。
1. 准备工作
在开始之前,请确保你的系统满足以下条件:
- 系统中已经安装了
gcc、make、bzip2、tar、gcc-c++等编译和安装GCC所需的基础工具。 - 有足够的磁盘空间来下载和编译GCC源码。
- 拥有系统管理员权限,因为安装GCC可能需要修改系统文件。
2. 下载GCC源码
首先,访问GCC官网(https://gcc.gnu.org/)下载最新的GCC源码包。例如,以下命令用于下载GCC 11.2版本的源码:
wget https://ftp.gnu.org/gnu/gcc/gcc-11.2/gcc-11.2.tar.xz
下载完成后,使用以下命令解压源码包:
tar -xf gcc-11.2.tar.xz
3. 准备编译环境
进入源码目录,执行以下命令来准备编译环境:
cd gcc-11.2
./contrib/download_prerequisites
这个过程可能会下载一些依赖库的源码,耐心等待即可。
4. 配置和编译GCC
在源码目录下,运行以下命令来配置编译过程:
./configure --prefix=/usr/local/gcc-11.2 --enable-checking=release
这里--prefix参数指定了编译后的GCC安装路径。--enable-checking=release参数启用了一些编译优化。
然后,使用以下命令编译GCC:
make -j $(nproc)
其中-j $(nproc)参数表示使用系统CPU的核心数并行编译,以加快编译速度。
5. 安装GCC
编译完成后,使用以下命令安装GCC:
sudo make install
现在,GCC已经安装到了/usr/local/gcc-11.2目录下。
6. 设置GCC为默认编译器
为了将新安装的GCC设置为默认编译器,需要更新系统的/etc/alternatives文件。以下命令设置GCC 11.2为默认C/C++编译器:
sudo ln -sfn /usr/local/gcc-11.2/bin/gcc /etc/alternatives/gcc
sudo ln -sfn /usr/local/gcc-11.2/bin/g++ /etc/alternatives/g++
接下来,使用以下命令更新链接:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-11.2/bin/gcc 1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc-11.2/bin/g++ 2
最后,使用以下命令设置GCC为默认编译器:
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
选择新安装的GCC版本。
7. 验证安装
现在,可以使用以下命令验证GCC是否已正确安装:
gcc --version
输出应显示GCC 11.2版本信息。
通过以上步骤,你已经成功从源码编译并安装了GCC。现在,你可以使用这个新的编译器来编译你的C/C++程序了。
