在64位Linux操作系统上编译32位程序会导致致命错误
运用
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 
 您需要gcc multilib支持。 安装包gcc-multilib 。 例如: 
 sudo apt-get install gcc-multilib