GCC在Linux下如何安装配置
小樊
36
2025-12-23 22:19:41
Linux 下 GCC 的安装与配置
一 安装前检查
- 查看系统发行版与版本:
- lsb_release -a 或 cat /etc/*release
- 检查是否已安装 GCC 及其版本:
- gcc --version、g++ --version
- 确认依赖(从源码编译时需要):GMP、MPFR、MPC、Binutils 等开发库。
二 使用包管理器安装(推荐)
- Ubuntu/Debian:
- sudo apt update
- sudo apt install build-essential(包含 gcc/g++/make 等)
- CentOS/RHEL 7:
- sudo yum groupinstall “Development Tools”
- 或 sudo yum install gcc gcc-c++
- Fedora:
- sudo dnf groupinstall “Development Tools”
- 或 sudo dnf install @development-tools
- Arch Linux:
- sudo pacman -S base-devel(或 gcc)
- 安装后验证:
- gcc --version、g++ --version
三 从源码编译安装(需要特定版本或自定义配置时)
- 安装依赖(Debian 系示例):
- sudo apt install libgmp-dev libmpfr-dev libmpc-dev
- 下载与解压:
- wget https://ftp.gnu.org/gnu/gcc/gcc-/gcc-.tar.gz
- tar -xvf gcc-.tar.gz && cd gcc-
- 配置(推荐 out-of-source 构建):
- mkdir build && cd build
- …/configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
- 编译与安装(并行加速,nproc 为 CPU 核心数):
- make -j$(nproc)
- sudo make install
- 验证:
- /usr/local/gcc/bin/gcc --version
四 环境变量与多版本管理
- PATH(确保能找到 gcc/g++):
- 临时:export PATH=/usr/local/gcc/bin:$PATH
- 永久:编辑 ~/.bashrc 或 ~/.profile,加入
- export PATH=/usr/local/gcc/bin:$PATH
- 64 位库路径(如需要):export LD_LIBRARY_PATH=/usr/local/gcc/lib64:$LD_LIBRARY_PATH
- 使生效:source ~/.bashrc 或 source ~/.profile
- 多版本切换(update-alternatives):
- 注册版本:
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc/bin/gcc 60 --slave /usr/bin/g++ g++ /usr/local/gcc/bin/g++
- 交互选择:
- sudo update-alternatives --config gcc
- 验证:
- which gcc、gcc --version、g++ --version
五 快速验证与常见问题
- 快速验证:
- C:echo ‘int main(){return 0;}’ > test.c && gcc -Wall -O2 test.c -o test && ./test
- C++:echo ‘#include \nint main(){std::cout<<“Hello\n”;return 0;}’ > test.cpp && g++ -Wall -O2 test.cpp -o test_cpp && ./test_cpp
- 常见问题与处理:
- 找不到头文件/库:确认安装 build-essential 或开发组包;必要时设置 C_INCLUDE_PATH/CPLUS_INCLUDE_PATH、LD_LIBRARY_PATH,或在 /etc/ld.so.conf 中注册库路径后执行 ldconfig。
- 版本冲突:使用 update-alternatives 管理默认 gcc/g++。
- 编译慢:使用并行编译 make -j$(nproc),或引入 ccache 缓存加速。
- 虚拟机性能:适当提升 CPU/内存、使用 SSD、并行编译可显著缩短构建时间。