--------------------------- 在cygwin下,编译SDL1.2.9 --------------------------- -- BeagleTam 2006-3-30 2:31 ******************************************************************************* 1. SDL 2. Cygwin 3. 下载安装必要的依赖文件 4. 编译libSDL 5. 编译测试程序 6. 试运行测试程序 ******************************************************************************* > 由于工作需要和条件限制,在cygwin下做一下媒体软件的代码学习。 今天需要用到SDL, 在cygwin下进行了编译,怕以后忘记,写下来做备忘。 SDL支持的操作系统很多,包括: 官方支持: Windows Linux, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, QNX. 非官方支持,包含porting代码: Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and SymbianOS. SDL使用C语言编写,但,可以在多种语言开发环境中使用,包括: Ada, Eiffel, Java, Lua, ML, Pascal, Perl, PHP, Pike, Python, and Ruby. 2. Cygwin ========= homepage: http://www. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 就不再介绍了,对于没有条件安装linux的用户,使用来编译linux程序,用的很多。 我使用的cygwin的Setup文件是2.510.2.2, 并安装了X11,OpenGL等 3. 下载必要的依赖文件 ===================== http://www./extras/win32/cygwin/ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ directx-devel.tar.gz (directX支持) opengl-devel.tar.gz (openGL,在新版的cygwin中已经包含) nasm.exe (asm编译器, cygwin中包含) 其实,以上3个文件,我只使用了directx-devel.tar.gz中的include中的.h文件 directx-devel.tar.gz解开后,目录如下: |+include / | +w32api / | |-d3dtypes.h | |-ddraw.h | |-dinput.h | |-directx.h | |-dsound.h |+lib / +w32api / |-libddraw.a |-libdinput.a |-libdplayx.a |-libdsound.a |-libdxguid.a 将include/w32api中的头文件copy到 $CYGWIN/usr/include/w32api/中, ^^^^^^^^^^^^^^^^^^^^^^^^^^ lib下的.a文件,在$CYGWIN/lib/w32api中已经包含,没有必要拷贝。 opengl-devel.tar.gz 中的头文件,在$CYGWIN/usr/include\w32api\GL中已有, 无须拷贝。 4. 编译libSDL ============= 编译方法和其他GPL程序步骤一致。 1 ) configure 2 ) make 3 ) make install 在cygwin上配置,编译,速度比较慢,我disable了不需要的功能,让configure 不去自动检测。 下面是我的configure, 我把它保存在一个叫configit.sh文件中,以方便更改和执行。 #!/bin/bash ./configure \ --enable-directx \ --disable-joystick \ --disable-cdrom \ --disable-alsatest \ --disable-alsa-shared \ --disable-esd \ --disable-esdtest \ --disable-esd-shared \ --disable-arts \ --disable-arts-shared \ --disable-nas \ --disable-diskaudio \ --disable-mintaudio \ --disable-dga \ --disable-video-dga \ --disable-video-photon \ --disable-video-fbcon \ --disable-video-ps2gs \ --disable-video-xbios \ --disable-video-gem \ --disable-video-opengl \ --disable-osmesa-shared \ --disable-pth \ --disable-atari-ldg 有该config.sh文件,执行起来就简单了。 $ ./configit.sh && make && make install 可以去看电视了,等下再回来。 5. 编译测试程序 =============== SDL中带了大量的测试程序,在目录test中。 $ cd test $ ./configure $ make 6. 试运行测试程序 ================= $ cd test 运行几个测试程序看看 $ ./testwin.exe $ ./testgl.exe $ ./testwm.exe .... 是不是可以看到窗口了?? =========================================================================== 本文来自ChinaUnix博客,如果查看原文请点:http://blog./u/17978/showart_104440.html |
|