You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译安装GCC-11.1.0遇configure错误:需C++11编译器,求解决

解决编译GCC 11.1.0时configure阶段C++11支持缺失的问题

问题原因

编译GCC 11.1.0需要一个已支持C++11特性的编译器(通常要求GCC 4.8及以上版本),系统默认编译器版本过低,无法满足bootstrap编译的要求,导致configure失败。

解决方案

步骤1:检查当前编译器版本

先确认系统现有gcc/g++版本:

gcc --version
g++ --version

若输出版本低于4.8,需要先升级编译器或安装临时可用的高版本编译器。

方案A:升级系统自带编译器(适用于Debian/Ubuntu系)

如果系统软件源中提供了足够新的编译器,直接执行:

sudo apt update
sudo apt install --only-upgrade gcc g++

安装完成后再次检查版本,确保g++版本≥4.8,随后重新执行GCC 11.1.0的configure命令。

方案B:手动编译临时支持C++11的编译器(适用于源中无高版本编译器的场景)

由于你已经提前安装了gmp、mpfr、mpc、isl等依赖,可以先编译一个支持C++11的低版本GCC(比如GCC 7.5.0)作为临时编译器,再用它编译GCC 11.1.0:

  1. 下载GCC 7.5.0源码并解压,进入源码目录
  2. 执行configure(复用已安装的依赖库):
    ./configure --prefix=/usr/local/gcc-temp --enable-languages=c,c++ --disable-multilib \
    --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc --with-isl=/usr/local/isl
    
  3. 编译并安装:
    make -j$(nproc)  # 用全部CPU核心加速编译
    sudo make install
    
  4. 将临时编译器加入环境变量优先级:
    export PATH=/usr/local/gcc-temp/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/gcc-temp/lib64:$LD_LIBRARY_PATH
    
  5. 验证临时编译器版本:
    g++ --version
    
    确认版本支持C++11后,回到GCC 11.1.0目录重新执行configure。

额外注意事项

  1. 你当前的configure命令中--prefix=/usr/local/gcc-7.3.0是笔误,建议改为--prefix=/usr/local/gcc-11.1.0,避免版本混淆。
  2. 执行configure前,可手动指定依赖库的头文件和链接库路径,确保编译器能找到依赖:
    export CPPFLAGS="-I/usr/local/gmp/include -I/usr/local/mpfr/include -I/usr/local/mpc/include -I/usr/local/isl/include"
    export LDFLAGS="-L/usr/local/gmp/lib -L/usr/local/mpfr/lib -L/usr/local/mpc/lib -L/usr/local/isl/lib"
    

内容的提问来源于stack exchange,提问作者EchoLi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:42:25