之前在32位的LINUX中编译是没什么问题的。

SDL1.2 

需要安装的包:

xorg-dev  (执行apt-get install xorg-dev,不安装这个包提示XSHm.h头文件无法找到)


在 make 时提示 _XData32数据结构出错,上网搜寻了一下,这是SDL的一个BUG,需要打上SDL的一个patch

内容如下:

 

libX11-1.5.99.901 has changed prototype of _XData32

<http://bugzilla.libsdl.org/show_bug.cgi?id=1769>

diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h
--- a/src/video/x11/SDL_x11sym.h	Wed Feb 27 15:20:31 2013 -0800
+++ b/src/video/x11/SDL_x11sym.h	Wed Mar 27 16:07:23 2013 +0100
@@ -165,7 +165,7 @@
  */
 #ifdef LONG64
 SDL_X11_MODULE(IO_32BIT)
-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
 SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
 #endif
 

如把它保存在 SDL目录 ,文件名:SDL-1.2-const_XData32.patch,如下的命令执行:

patch -p1 < SDL-1.2-const_XData32.patch


完成后,再次make没有报错了。


Logo

更多推荐