一尘不染

在64位Linux OS上为32位编译程序会导致致命错误

linux

使用

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位指令。


阅读 170

收藏
2020-06-03

共1个答案

一尘不染

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

尝试这个

sudo apt-get install libx32gcc-4.8-dev

sudo apt-get install libc6-dev-i386
2020-06-03