0

sdl quakeを 64 ビット Linux システムでビルドしようとしています。私の 32 ビット Linux システムで問題なくビルドおよび実行されます。私が得ているエラーは次のとおりです。

d_copy.S:28: Error: invalid instruction suffix for `push'

同様のエラーがたくさんあります。-m32 フラグを指定してビルドするだけで、32 ビット バイナリとしてビルドできると想定しています。それは私には問題ありません。

Makefile の CFLAGS に「-m32」を追加して、再度ビルドしようとしたところ、次のようになりました。

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 フラグをあまりいじっていないので、ここで明らかな何かが欠けているだけかもしれません。OSはUbuntuです。

4

1 に答える 1

2

そのためにはの 32 ビット版が必要libc-devです。

Ubuntu での最速の方法:

sudo apt-get install libc6-dev-i386

于 2013-09-18T01:21:50.857 に答える