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

Ubuntu 20.04下Go 1.19编译提示gcc-11未找到的解决方案问询

解决Ubuntu 20.04下Go编译时gcc-11未找到的问题

1. Ubuntu 20.04是否支持gcc-11?

支持。Ubuntu 20.04默认软件源提供的gcc最高版本为9.x,但可以通过官方测试源安装gcc-11。

2. 如何安装gcc-11?

执行以下步骤完成安装:

  • 更新软件源索引:
    sudo apt update
    
  • 安装源管理工具(若未安装):
    sudo apt install software-properties-common
    
  • 添加Ubuntu工具链测试源:
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    
  • 再次更新源:
    sudo apt update
    
  • 安装gcc-11:
    sudo apt install gcc-11
    
  • 验证安装结果:
    gcc-11 --version
    
  • 可选:将gcc-11设为默认编译器
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
    
    后续可通过update-alternatives --config gcc切换不同gcc版本。

3. 是否需要更换Go版本?

不需要。报错的核心原因是github.com/mattn/go-sqlite3依赖的cgo编译逻辑指定了gcc-11,而你的系统仅安装了gcc-9.x。解决gcc版本问题后即可正常编译,无需更换Go 1.19版本。

另外,也可以临时指定cgo使用现有gcc版本,无需安装gcc-11:

CC=gcc go run .
# 或
CC=gcc go build .

该命令会让cgo调用系统默认的gcc(9.x)编译sqlite3的C代码,同样能解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:55:18