银河麒麟V10需隔离安装GCC 12+以支持现代C++开发:先确认架构与版本,下载对应源码,预装依赖并运行download_prerequisites,创建独立构建目录配置--prefix=/opt/gcc-14.1.0等参数,编译安装后通过环境变量或update-alternatives切换使用。

银河麒麟V10系统默认GCC版本长期停留在5.4.0或9.3(依SP版本而异),但现代C++项目、Qt6构建、内核模块开发等场景常需GCC 12+支持,直接覆盖系统GCC风险极高,必须采用隔离安装路径并手动配置环境变量。
确认当前GCC版本与系统架构
打开终端,执行:gcc -v 和 uname -m。若输出显示 gcc version 5.4.0 且 uname -m 返回 aarch64 或 x86_64,说明你正运行标准麒麟V10 SP1,后续步骤严格按对应架构选择源码包。
注意:ARM平台(如飞腾、鲲鹏)不可下载x86_64的gcc二进制包,否则configure阶段会报configure: error: cannot run C compiled programs——这是硬性架构不匹配,无法绕过。
下载并解压GCC源码
访问清华镜像站:https://www.php.cn/link/1d9a04206e079957394bf651c2a25b62,根据需求选择版本(推荐GCC 12.3.0或14.1.0)。例如下载GCC 14.1.0:
wget https://www.php.cn/link/1d9a04206e079957394bf651c2a25b62gcc-14.1.0/gcc-14.1.0.tar.xz
解压到用户目录:tar -xf gcc-14.1.0.tar.xz -C ~/ → 进入源码目录:cd ~/gcc-14.1.0
这一步操作起来很简单,直接把文件拖进去就行。但务必确保解压后目录内含contrib/download_prerequisites脚本——它将自动拉取gmp/mpfr/mpc依赖,缺了会导致后续configure失败。
安装编译依赖并预下载子模块
执行:sudo apt update && sudo apt install -y build-essential gawk bison flex texinfo libisl-dev libcloog-isl-dev libmpc-dev libmpfr-dev libgmp-dev zlib1g-dev
进入GCC源码根目录,运行:./contrib/download_prerequisites。该命令会从GNU官网下载gmp、mpfr、mpc三个库的压缩包并自动解压到gcc-14.1.0同级目录下。若网络超时,可手动下载对应版本(如gmp-6.2.1.tar.xz)放入源码目录再重试。
【关键前提】此步必须成功,否则configure会提示error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+并中断——这不是警告,是硬性阻断条件。
创建独立构建目录并配置安装路径
切勿在源码目录内直接make!执行:mkdir ~/gcc-build && cd ~/gcc-build
运行configure命令(以安装到/opt/gcc-14.1.0为例):
../gcc-14.1.0/configure --prefix=/opt/gcc-14.1.0 --enable-languages=c,c++,fortran --disable-multilib --with-system-zlib --enable-checking=release
解释参数含义:--prefix指定纯净安装路径,避免污染/usr;--disable-multilib在麒麟V10 ARM64上必须添加,否则编译会卡死在libgcc阶段;--enable-checking=release关闭调试检查,大幅缩短编译时间。
编译与安装新GCC
执行:make -j$(nproc)。编译耗时极长(ARM64平台约2–4小时,x86_64约30–90分钟),期间CPU和内存持续满载,不要关闭终端或休眠系统。
编译完成后执行:sudo make install。该命令将二进制文件、头文件、运行时库完整复制至/opt/gcc-14.1.0,不触碰系统原有GCC。
验证安装:/opt/gcc-14.1.0/bin/gcc -v 应输出GCC 14.1.0及正确配置信息。
切换并启用新版GCC
方法一:临时使用(当前终端有效)export PATH="/opt/gcc-14.1.0/bin:$PATH"export LD_LIBRARY_PATH="/opt/gcc-14.1.0/lib64:/opt/gcc-14.1.0/lib:$LD_LIBRARY_PATH"
方法二:永久生效(影响所有新终端)
编辑~/.bashrc:echo 'export PATH="/opt/gcc-14.1.0/bin:$PATH"' >> ~/.bashrcecho 'export LD_LIBRARY_PATH="/opt/gcc-14.1.0/lib64:/opt/gcc-14.1.0/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
然后执行:source ~/.bashrc
方法三:系统级软链接管理(推荐给多版本共存场景)sudo update-alternatives --install /usr/bin/gcc gcc /opt/gcc-14.1.0/bin/gcc 100sudo update-alternatives --install /usr/bin/g++ g++ /opt/gcc-14.1.0/bin/g++ 100sudo update-alternatives --config gcc(交互式选择默认版本)
执行gcc -v确认版本已更新为14.1.0。











