使用

gcc -m32 myprog.c

应编译32位版本的文件myprog.c.

不幸的是,我遇到了这个错误:

In file included from /usr/include/stdio.h:27:0,
                 from myprog.c:1:
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
#include <sys/cdefs.h>

我怎样才能解决这个问题?

如果我不使用-m32,它可以工作,但使用64位指令.

推荐答案

要在64位Linux版本上编译32位二进制文件,必须安装libx32gcc个开发包和32位GNU C库

试试这个

sudo apt-get install libx32gcc-4.8-dev

sudo apt-get install libc6-dev-i386

Linux相关问答推荐

如何限制SLURM中并行执行的程序数量

Linux TTY 操作顺序

Perl/cpan: 找不到 JSON/Parse.pm @INC

为什么 `std::this_thread::yield()` 比 `std::this_thread::sleep_for(0s)` 慢 10 倍?

使用 ansible 验证 firewalld 配置

Ubuntu 20 不支持 MAP_FIXED_NOREPLACE

Bash - 如何根据 names.txt 重命名目录中的文件

为什么我不能将 Unix Nohup 与 Bash For 循环一起使用?

如何在 Linux/Unix 上递归复制以abc开头的目录?

打印当前一周的星期一的日期(在 bash 中)

如何删除 Mercurial 存储库

使远程目录保持最新

如何在 Linux 中通过控制台输出启动 Tomcat?

如何以编程方式禁用硬件预取?

什么是适用于 Linux 的好的 Prolog IDE?

根据文件名模式和文件内容列出文件名?

判断环境变量是否已经设置

解压tar tar.bz2 文件报错

如何使用 Linux 命令找到我的 shell 版本?

Linux cmd 在 jar 中搜索类文件,而不考虑 jar 路径