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 100update-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
相关产品推荐
相关产品推荐

