Personal tools


From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Added link to "A modified set of SDL bindings")
(Added a link to "All LazyFoo's SDL tutorials ported to Haskell")
Line 29: Line 29:
== Links ==
== Links ==
* [ All LazyFoo's SDL tutorials ported to Haskell]
* [ HSDL], an alternative binding to libSDL.
* [ HSDL], an alternative binding to libSDL.

Revision as of 22:04, 4 November 2010


1 Introduction

The Haskell package SDL is a binding to the C library libSDL

From Wikipedia:
Simple DirectMedia Layer (SDL) is a cross-platform, free and open source software multimedia library written in C, that presents a simple interface to various platforms' graphics, sound, and input devices. Software developers use it to write computer games or other multimedia applications that can run on many operating systems including Windows, Mac OS X, OS 9, Linux, the PSP, Google Android, AmigaOS, AmigaOS 4, Haiku/BeOS, MorphOS, OpenVMS, Syllable, and WebOS. It manages video, events, digital audio, CD-ROM, sound, threads, shared object loading, networking and timers.

2 Installation

For installation of SDL on Windows, see Haskell SDL on Windows, check! (hacking required)

3 Problems

3.1 Haskell-SDL with Mac OS X

There are some issues with the Haskell SDL bindings and Mac OS X, notably linking problems that result in an error such as:

Linking test ... Undefined symbols:

 "_SDL_main", referenced from:
     -[SDLMain applicationDidFinishLaunching:] in libSDLmain.a(SDLMain.o)

ld: symbol(s) not found collect2: ld returned 1 exit status

In the SDL bindings' MACOSX file, there is some mention of a code example that shows how to solve this. Unfortunately, the Darcs repository where this code resides is down. After asking Nick Alexander, who was mentioned in the MACOSX file, he referred to the following work by Audrey Tang, where the Main-file trick for making this compile can still be found: [1]

4 Links

  • HSDL, an alternative binding to libSDL.
  • Using HSDL, an automatic translation from Japanese.