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

在64位Debian中无法运行编译生成的32位C++二进制文件求助

解决64位Debian上运行32位编译程序的问题

我来帮你搞定这个在64位Debian系统上运行32位C++程序的问题!你遇到的Exec format error本质是因为64位系统默认没有安装32位程序的运行时依赖库——哪怕你用-m32编译出了32位二进制,系统也没法加载执行它。下面是一步步的解决方案:

1. 安装32位编译和运行依赖

首先得把32位环境的基础依赖装上,在终端执行这条命令:

sudo apt update && sudo apt install gcc-multilib g++-multilib libc6-i386
  • gcc-multilib和g++-multilib:给64位的gcc/g++添加32位编译目标的支持
  • libc6-i386:32位版本的C标准库,是运行32位程序必须的运行时组件

如果执行时提示找不到架构相关的包,先添加i386架构支持:

sudo dpkg --add-architecture i386
sudo apt update

然后再重新安装上面的包。

2. 重新编译你的程序

现在依赖都齐了,重新编译你的测试代码:

g++ -m32 Main.cpp

3. 验证运行

编译完成后执行生成的二进制文件:

./a.out

这时候应该能正常输出This is Main.cpp了!

额外检查(可选)

如果你想确认生成的确实是32位程序,可以用file命令查看:

file a.out

输出里应该包含ELF 32-bit LSB executable, Intel 80386这样的字样,说明是32位可执行文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:42:02