文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在cygwin下,编译SDL1.2.9

在cygwin下,编译SDL1.2.9

时间:2006-04-25  来源:itlook

--------------------------- 在cygwin下,编译SDL1.2.9 ---------------------------
                                                    -- BeagleTam 2006-3-30 2:31
******************************************************************************* 1. SDL
2. Cygwin
3. 下载安装必要的依赖文件
4. 编译libSDL
5. 编译测试程序
6. 试运行测试程序
*******************************************************************************
    > 由于工作需要和条件限制,在cygwin下做一下媒体软件的代码学习。     <
    > 今天需要用到SDL, 在cygwin下进行了编译,怕以后忘记,写下来做备忘。<
   
1. SDL
======
    homepage: http://www.libsdl.org/index.php
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    SDL 是 Simple DirectMedia Layer的缩写。
   
    SDL是一个Open Soucer的跨平台的多媒体库, 设计为提供在底层存取Audio, Keyboard,
    Mouse, Joystick,3D(openGL), 2D 视频framebuffer. 在很多的视频回放软件,
    模拟器,以及流行的游戏中,都使用了该库。如著名的linux播放器
    VCL(www.videolan.org), MPLayer(www.mplayerhq.hu)等.
    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.cygwin.com
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   就不再介绍了,对于没有条件安装linux的用户,使用来编译linux程序,用的很多。
   我使用的cygwin的Setup文件是2.510.2.2, 并安装了X11,OpenGL等
  
  
3. 下载必要的依赖文件
=====================
   http://www.libsdl.org/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
    ....
    是不是可以看到窗口了??
   
===========================================================================<end
 
相关阅读 更多 +
排行榜 更多 +
浴血混战官方下载

浴血混战官方下载

飞行射击 下载
检票员模拟器免广告下载

检票员模拟器免广告下载

模拟经营 下载
最终前哨最终版手机版下载

最终前哨最终版手机版下载

休闲益智 下载