FAQ: SDL under cygwin-1.3.6

Hi folks,

I'm going to talk about installation of SDL libraries under the Win32 /

cygwin platform.

(I) How to install SDL.

(a) The natural method

    Download SDL-1.2.3.tar.gz from www.libsdl.org.
    Decompress the archive into a folder:
        tar xvzf SDL-1.2.3.tar.gz
    Install using the unixish method:
        cd SDL-1.2.3
        make install
    Don't forget to test SDL by compiling test programs:
        cd test

(b) The quick method

    Download SDL-devel-1.2.3-mingw32.tar.gz from www.libsdl.org.
    Extract i386-mingw32mscv.tar from it, and decompress it.
    Move all *.h files into /usr/local/include/SDL.
    Move all *.a files into /usr/local/lib.
    Move SDL.dll and SDL-config into /usr/local/bin.
    Do what you want with the other files.
    Don't forget to test SDL by compiling test programs from the main

gcc -o file.exe file.c sdl-config --cflags --clibs

(II) How to install SDL-image and others.

(a) The natural method

    Try the same things as in (I.a.) but you're expected to fail with

SDL-image because of some errors conpiling with libpng and libjpeg.

(b) The quick method

    Download binary *-win32.zip packages from www.libsdl.org, or better

is win32-dependencies.zip from www.pygame.org: it will be easier, but the
library versions inside may not be the latest.
Move all *.dll into /usr/local/bin.
Download either devel package for win32 (for example
SDL_image-devel-1.2.0-VC5.zip) if available, or source package (for example
SDL_image-1.2.0.zip or SDL_image-1.2.0.tar.gz).
Grab the .h files from it and move them to /usr/local/include/SDL.
Download http://www.acc.umu.se/~anorland/gnu-win32/pexports-0.41.zip
and extract pexports.exe into your path (for example /usr/local/bin).
Use the following script on all SDL
.dll like this:
dll2a.sh SDL_image

—0<— dll2a.sh ------
#! /bin/sh

Need some file existance error checking

and some help information

pexports.exe $lib.dll > $lib.def && dlltool --def $lib.def --dllname
$lib.dll --output-lib lib$lib.a && rm $lib.def

mv lib$lib.a /usr/local/lib--------------------

    You should get libSDL_image.a that you move into /usr/local/lib.
    Try to compile demos from the source package to verify.

Feel free to complete, verify all this (I expect this from you !), flame,

P.S.: Sam, you can make a FAQ from all this stuff on the libsdl website if
you want, it may help some lost users.

ifrance.com, l’email gratuit le plus complet de l’Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP…