http://blog.csdn.net/jhting/article/details/38523945

Ubuntu 14.04 LTS 64bit 编译SDL的问题

分类: C/C++2014-08-12 23:33 423人阅读 评论(0)  举报

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

SDL1.2

需要安装的包:

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

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

内容如下:

  1. libX11-1.5.99.901 has changed prototype of _XData32
  2. <http://bugzilla.libsdl.org/show_bug.cgi?id=1769>
  3. diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h
  4. --- a/src/video/x11/SDL_x11sym.h    Wed Feb 27 15:20:31 2013 -0800
  5. +++ b/src/video/x11/SDL_x11sym.h    Wed Mar 27 16:07:23 2013 +0100
  6. @@ -165,7 +165,7 @@
  7. */
  8. #ifdef LONG64
  9. SDL_X11_MODULE(IO_32BIT)
  10. -SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
  11. +SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
  12. SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
  13. #endif

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

patch -p1 < SDL-1.2-const_XData32.patch

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

05-06 05:03