[Haskell-cafe] SDL program under MinGW

sam lee skynare at gmail.com
Sun Dec 7 09:00:54 EST 2008


Yes, with some modifications.

I used SDL-1.2.13, not SDL-1.2.12.

Also, my Include-Dirs has include\SDL, not include:
C:\Users\client\code\SDL-1.2.13\include\SDL

If I don't put include\SDL, I get errors like
Graphics\UI\SDL\General.hsc:1:17:  SDL.h: No such file or directory

And I used the following command to configure:
C:\Users\client\Downloads\SDL-0.5.4>runghc Setup.lhs configure
--prefix=C:\Users\client\haskell --datadir=$prefix\share --user

it builds and installs fine. I only get linker error (undefined
reference to SDL_main) when I compile a program that uses SDL binding.


On Sun, Dec 7, 2008 at 4:23 AM, Bit Connor <bit at mutantlemon.com> wrote:
> Did you follow the instructions described in the WIN32 file?
>
> On Sat, Dec 6, 2008 at 2:05 PM, sam lee <skynare at gmail.com> wrote:
>> Hi.
>>
>> I am using Windows Vista.
>> I installed the following:
>>
>> - ghc 6.8.3 (using official Windows binary installer)
>> - MinGW (from http://nuwen.net/mingw.html)
>> - SDL binding (from
>> http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SDL)
>>
>> I am trying to compile the following program:
>>
>>    module Main where
>>
>>    import qualified Graphics.UI.SDL as SDL
>>
>>    main = do
>>        SDL.init [SDL.InitEverything]
>>        SDL.quit
>>
>> I get the following error:
>>
>> C:\Users\client\code\sandbox>ghc --make Example.hs
>> Linking Example.exe ...
>> C:\MinGW\lib/libSDLmain.a(SDL_win32_main.o)(.text+0x409):SDL_win32_main.c:
>> undefined reference to `SDL_main'
>>
>> According to SDL faq
>> (http://www.libsdl.org/faq.php?action=listentries&category=4#48)  I
>> should use "int main(int argc, char *argv[])", not "int main()" nor
>> "WinMain()".
>>
>> Can anyone compile the above snippet on windows machine?
>> I am using SDL library that is shipped with MinGW distribution that I'm using.
>> I also recompiled SDL haskell binding with official SDL windows binary
>> (http://www.libsdl.org/release/SDL-devel-1.2.13-mingw32.tar.gz). But I
>> get the same undefined reference to SDL_main linker error.
>>
>> Do I need to have specific main IO action so that SDL would work in Haskell?
>>
>> Thank you.
>> Sam.
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>


More information about the Haskell-Cafe mailing list