3

我正在将程序编译为汇编代码,特别是 32 位形式,当我在没有 -m32 标志的情况下编译时...:

gcc -S examples.c

它编译得很好。但是,当我这样做时...

 gcc -S -m32 examples.c

我在包含 stdlib.h (因为它没有出现在预览窗口中显示格式而被删除)行上出现错误,如下所示:

In file included from /usr/include/stdlib.h:25:0,
             from examples.c:1:
/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.

这里发生了什么?

4

1 回答 1

7

您缺少 32 位 C 库和头文件。这些默认情况下未安装在 64 位 Ubuntu 中,但您可以通过运行以下命令来安装(与 C++ 一起):

$ sudo apt-get install g++-multilib
于 2013-03-12T00:32:48.830 回答