FPC and SDL

From Free Pascal wiki
Revision as of 14:50, 26 September 2004 by 217.23.241.123 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Introduction

I assume that you already have atleast minimal knowlidge of what SDL is and it's basic functions.
For those who want to learn more I suggest to visit the SDL homepage.
This page is going to explain how to use SDL with Free Pascal, where to obtain the pascal headers etc.


Obtaining FPC headers for SDL

After installing SDL itself on your system you'll need pascal headers to be able to use SDL with FPC.
There are 2 known(to me ) sources. 1st is the original JEDI SDL project at this page.
These headers were ment for Delphi and while they work with delphi compatibility mode (-Sd) I'd suggest
(from personal experience) to use the modified FPC version.
This can be obtained via CVS like so:


cvs -d :pserver:cvs@cvs.freepascal.org:/FPC/CVS login
password is 'cvs'
cvs -d :pserver:cvs@cvs.freepascal.org:/FPC/CVS -z3 co projects/contrib/sdl



This will download the FPC - SDL headers into the directory projects. The important part is in the
basesdl directory. You can use these headers directly with FPC without modification.


Tips and tricks

There is one more thing I'd like to point out. If you use SDL_mixer you'll notice that it's dependent
on smpeg library. This can be a setback since this isn't a standard library and is hard to get(CVS only IMHO).
However the SDL_mixer.pas header for it uses smpeg by default even if SDL_mixer itself isn't linked to it.
To remove this you just need to remove smpeg.pas from it's uses and comment out one line in the sources mentioning
mp3s (it's a case near the end). This way your app. won't use smpeg.so/dll anymore.