Ubuntu 14.04 LTS 64bit 编译SDL的问题

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

Ubuntu 14.04 LTS 64bit 编译SDL的问题

 

分类: C/C++

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

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

patch -p1 < SDL-1.2-const_XData32.patch

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

原文地址:https://www.cnblogs.com/okgogo2000/p/4415724.html