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

安装gcc-multilib后仍无法用-m32编译C程序:找不到-lgcc

Ubuntu x86_64虚拟机中-m32编译失败的解决方法

问题概况

在Windows系统的Ubuntu x86_64虚拟机环境中,已安装gcc-multilib,但使用-m32选项编译C程序时失败。

已安装的GCC相关包(执行dpkg -l | grep gcc输出)

ii  gcc                                        4:7.4.0-1ubuntu2.3                              amd64        GNU C compiler
ii  gcc-11-base:amd64                          11.1.0-1ubuntu1~18.04.1                         amd64        GCC, the GNU Compiler Collection (base package)
ii  gcc-7                                      7.5.0-3ubuntu1~18.04                            amd64        GNU C compiler
ii  gcc-7-base:amd64                           7.5.0-3ubuntu1~18.04                            amd64        GCC, the GNU Compiler Collection (base package)
ii  gcc-7-multilib                             7.5.0-3ubuntu1~18.04                            amd64        GNU C compiler (multilib support)
ii  gcc-8-base:amd64                           8.4.0-1ubuntu1~18.04                            amd64        GCC, the GNU Compiler Collection (base package)
ii  gcc-9                                      9.4.0-1ubuntu1~18.04                            amd64        GNU C compiler
ii  gcc-9-base:amd64                           9.4.0-1ubuntu1~18.04                            amd64        GCC, the GNU Compiler Collection (base package)
ii  gcc-multilib                               4:7.4.0-1ubuntu2.3                              amd64        GNU C compiler (multilib files)
ii  lib32gcc-7-dev                             7.5.0-3ubuntu1~18.04                            amd64        GCC support library (32 bit development files)
ii  lib32gcc-s1                                11.1.0-1ubuntu1~18.04.1                         amd64        GCC support library (32 bit Version)
ii  lib32gcc1                                  1:11.1.0-1ubuntu1~18.04.1                       amd64        GCC support library (dependency package, 32bit)
ii  libgcc-7-dev:amd64                         7.5.0-3ubuntu1~18.04                            amd64        GCC support library (development files)
ii  libgcc-9-dev:amd64                         9.4.0-1ubuntu1~18.04                            amd64        GCC support library (development files)
ii  libgcc-s1:amd64                            11.1.0-1ubuntu1~18.04.1                         amd64        GCC support library
ii  libgcc1                                    1:11.1.0-1ubuntu1~18.04.1                       amd64        GCC support library (dependency package)
ii  libx32gcc-7-dev                            7.5.0-3ubuntu1~18.04                            amd64        GCC support library (x32 development files)
ii  libx32gcc-s1                               11.1.0-1ubuntu1~18.04.1                         amd64        GCC support library (x32)
ii  libx32gcc1                                 1:11.1.0-1ubuntu1~18.04.1                       amd64        GCC support library (x32)

编译错误信息

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc

解决步骤

从错误路径能看出,当前系统默认使用的是gcc-9,但仅安装了gcc-7的multilib支持包,缺少gcc-9对应的32位编译组件,导致链接器找不到适配的libgcc库。

执行以下命令安装gcc-9的multilib组件及32位开发库:

sudo apt update
sudo apt install gcc-9-multilib lib32gcc-9-dev

安装完成后,重新使用-m32选项编译C程序即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:31:37