ログ日記

作業ログと日記とメモ

Cygwin、SDL

うまくいかない。

$ runhaskell Setup.lhs configure --extra-include-dirs="D:\cygwin\usr\include\SDL" \
--extra-lib-dirs="D:\cygwin\lib"

http://web.animal-machine.com:8080/blog/2010/04/a-haskell-adventure-in-windows/
ここのコメントのようなエラーが出る。



そもそも

 Include-Dirs: C:\SDL-1.2.14\include\SDL
  Extra-Lib-Dirs: C:\SDL-1.2.14\lib

これがエラーになるので環境がだいぶ違うんだろうか。



バージョンを変えて色々やってたら疲れた…。


http://www.f13g.com/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0/Haskell/HSDL/
ここを見ると、バージョンが少し違うだけでもエラーになることがあるらしい。ややこしい。






http://opage.dontexist.com/memo/index.php?hsSDL%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
ここを見ながら、同じバージョンでやったらいけるかなと思って、いじってたら動いてしまった…。理由は不明。
とりあえずやったことは、SDL-devel-1.2.14-mingw32からSDL-devel-1.2.13-mingw32に変えたこと、SDL.buildinfoの-lmingw32を一度消してみたらbuildが通って、もう一度付け足してみてもbuildが通るようになってた。
gcccygwinのもので、ghcHaskell Platformのversion 6.12.1でやった。これも一度6.10や6.8を入れたり消したりしていた。


SDL-0.6.2のExamples/MacOSX/Makefile

test: wrapper.o SDLWrapper.hs
        ghc -no-hs-main --make wrapper.o SDLWrapper.hs -o test
SDLWrapper_stub.h: SDLWrapper.hs
        ghc -no-hs-main --make SDLWrapper.hs -c
wrapper.o: SDLWrapper_stub.h
        ghc -no-hs-main `sdl-config --cflags` -Wall wrapper.c -c
clean:
        rm -f *.hi *.o *_stub.c *_stub.h test
.PHONY: clean

こんな感じになっていて、sdl-config --cflagsを使っているので/usr/bin/sdl-configを手動で編集した。

prefix=D:\\cygwin\\usr

もう一度やって同じことができるか分からないのが困りどころ。



# Debianでやったら、aptでSDLが入るしhsSDLもcabalコマンドで問題なく入った。この差は…。