--------------------------- 在cygwin下,編譯SDL1.2.9 ---------------------------
-- BeagleTam 2006-3-30 2:31
*******************************************************************************
1. SDL
2. Cygwin
3. 下載安裝必要的依賴(lài)文件
4. 編譯libSDL
5. 編譯測(cè)試程序
6. 試運(yùn)行測(cè)試程序
*******************************************************************************
> 由于工作需要和條件限制,在cygwin下做一下媒體軟件的代碼學(xué)習(xí)。 今天需要用到SDL, 在cygwin下進(jìn)行了編譯,怕以后忘記,寫(xiě)下來(lái)做備忘。
SDL支持的操作系統(tǒng)很多,包括:
官方支持:
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語(yǔ)言編寫(xiě),但,可以在多種語(yǔ)言開(kāi)發(fā)環(huán)境中使用,包括:
Ada, Eiffel, Java, Lua, ML, Pascal, Perl, PHP, Pike, Python, and Ruby.
2. Cygwin
=========
homepage:
http://www.cygwin.com ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
就不再介紹了,對(duì)于沒(méi)有條件安裝linux的用戶(hù),使用來(lái)編譯linux程序,用的很多。
我使用的cygwin的Setup文件是2.510.2.2, 并安裝了X11,OpenGL等
3. 下載必要的依賴(lài)文件
=====================
http://www.libsdl.org/extras/win32/cygwin/ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
directx-devel.tar.gz (directX支持)
opengl-devel.tar.gz (openGL,在新版的cygwin中已經(jīng)包含)
nasm.exe (asm編譯器, cygwin中包含)
其實(shí),以上3個(gè)文件,我只使用了directx-devel.tar.gz中的include中的.h文件
directx-devel.tar.gz解開(kāi)后,目錄如下:
|+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中已經(jīng)包含,沒(méi)有必要拷貝。
opengl-devel.tar.gz 中的頭文件,在$CYGWIN/usr/include\w32api\GL中已有,
無(wú)須拷貝。
4. 編譯libSDL
=============
編譯方法和其他GPL程序步驟一致。
1 ) configure
2 ) make
3 ) make install
在cygwin上配置,編譯,速度比較慢,我disable了不需要的功能,讓configure
不去自動(dòng)檢測(cè)。
下面是我的configure, 我把它保存在一個(gè)叫configit.sh文件中,以方便更改和執(zhí)行。
#!/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文件,執(zhí)行起來(lái)就簡(jiǎn)單了。
$ ./configit.sh && make && make install
可以去看電視了,等下再回來(lái)。
5. 編譯測(cè)試程序
===============
SDL中帶了大量的測(cè)試程序,在目錄test中。
$ cd test
$ ./configure
$ make
6. 試運(yùn)行測(cè)試程序
=================
$ cd test
運(yùn)行幾個(gè)測(cè)試程序看看
$ ./testwin.exe
$ ./testgl.exe
$ ./testwm.exe
....
是不是可以看到窗口了??
===========================================================================
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/17978/showart_104440.html