はすける
ふつける12章途中まで読んだところで何か他のことやりたくなった。
HSDL(SDLのHaskell向けラッパ)でグラフィックをやりたい
http://www.f13g.com/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0/Haskell/HSDL/
SDL
http://www.geocities.co.jp/Berkeley/2093/sdl.html
.bashrcに1行追加
export LD_LIBRARY_PATH=/usr/local/lib
SDLをインストール
configure make make install
Cabal
GHC標準実装のパッケージ管理ツール。yumみたいなの
HSDLをCabalでコンパイル
$runhaskell Setup.hs configure Configuring hsdl-0.2.0... Warning: No license-file field.
$runhaskell Setup.hs build Preprocessing library hsdl-0.2.0... Multimedia\SDL\Audio.hsc:243:17: SDL.h:No such file or directory compiling dist\build\Multimedia\SDL\Audio_hsc_make.c failed ......
失敗したらしい。GHCが新しすぎる(6.8.2)のか?
GHCのバージョンを6.4に落とした
$runhaskell Setup.hs build Preprocessing library hsdl-0.2.0... Multimedia\SDL\Audio.hsc:243:17:SDL.h: No such file or directory ***Exception: got error code while preprocessing: Multimedia.SDL.Audio
引っかかってるところ
#include <SDL.h> #undef main
これはC?っていうか.hscってそもそも何?
CygwinやらWindowsネイティブやらを混在させているので
もう本当にややこしくてたまらんのだが、
とにかくGHCにCygwinのパスが見せられないので、
WindowsのほうのPATHを書き換えてみたり、
Cabalが生成するファイルを書き換えてみたり、
Cabal自体のスクリプトを書き換えてみたり、
いろいろやって、ソースが読み込んでるヘッダファイルが見えるようにはなった。
しかし、ヘッダが見えてもコンパイルが通らん。
コンパイルしようとしているファイルは拡張子がhscなファイルで
(これ、どういうファイルか知らないんだけど…)
なんだか、途中に #include
てな感じで Cのヘッダファイルをインクルードしている。
Haskellソース中でCのヘッダをインクルードしたらどうなるのか
よく分からないのだが、とにかくその中でエラーが出てコンパイルが通らない。
HSQL - 純粋関数型雑記帳
そろそろCygwinの限界を感じる。
一日一チベットリンク
ラサ燃える(その18)毎日新聞西岡省二記者は「名誉漢族」か : 天漢日乗