Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用gcc组装32位x86代码?_Linux_Gcc_X86_Sdl - Fatal编程技术网

Linux 使用gcc组装32位x86代码?

Linux 使用gcc组装32位x86代码?,linux,gcc,x86,sdl,Linux,Gcc,X86,Sdl,我正在尝试在我的64位linux系统上进行构建。它在我的32位linux系统上构建并运行良好。我得到的错误是: d_copy.S:28: Error: invalid instruction suffix for `push' 还有一大堆类似的错误。我假设我应该能够使用-m32标志进行构建,它将构建为32位二进制文件。我没问题 我将“-m32”附加到Makefile中的CFLAGS,并尝试再次构建,但现在我得到: gcc -DPACKAGE=\"sdlquake\" -DVERSION=\"1

我正在尝试在我的64位linux系统上进行构建。它在我的32位linux系统上构建并运行良好。我得到的错误是:

d_copy.S:28: Error: invalid instruction suffix for `push'
还有一大堆类似的错误。我假设我应该能够使用-m32标志进行构建,它将构建为32位二进制文件。我没问题

我将“-m32”附加到Makefile中的CFLAGS,并尝试再次构建,但现在我得到:

gcc -DPACKAGE=\"sdlquake\" -DVERSION=\"1.0.9\"  -I. -I.      
-g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL -DELF -m32 -c cd_sdl.c
In file included from /usr/include/SDL/SDL_main.h:26:0,
             from /usr/include/SDL/SDL.h:30,
             from cd_sdl.c:8:
/usr/include/SDL/SDL_stdinc.h:34:23: fatal error: sys/types.h: No such file or directory
compilation terminated.
make: *** [cd_sdl.o] Error 1

我想我可能只是错过了一些明显的东西,因为我没有玩过那么多关于-m32标志的游戏。操作系统是Ubuntu。

你需要32位版本的
libc-dev
才能做到这一点

Ubuntu的最快方式:

sudo apt get安装libc6-dev-i386