Make挑戦日記 part 3
5月29日の挑戦では
何とかbisonまでは何とかなったのだが、flexがありませんとうエラーメッセージがでたのだった。
今回はflexをGnuWinから
手に入れてもう一度Makeに挑戦してみることにする。
とりあえず、flexを導入後makeしたが失敗に終わった。
/src/actioncompire 上で
"flex -i -Pswf4 swf4compiler.lex"
"flex -i -Pswf5 swf5compiler.lex" とすると
なぜかうまくいった。5月29日でもbisonも手打ちしたらうまくいったんだったなー。
なぜだろう?これは私の単なる勘違いだろか!!
さらにエラーがじゃんじゃんでました
とりあえずこんな(←クリックしてね)エラーが出ました。
そもそも gif_db.hのエラーもよくわからなくて、config.makeをいじってしまっていたのに、さらにpngも
うまくいかないとは、 ということでconfig.make.hともう一度向き合ってみることにしました。
そもそも gif_lib.h は存在していないから。別なところからダウンロードする必要があるようだな。
えーと、いろいろなサイトに回りましたが最終的に
http://www.opaque.net/wiki/index.php?MingInstall
に行き着きました。
エーと、普通にインストールする方々は必ず通らなければならないサイトです 、が 、私は始めてきました。というか
初めて読みました。
(libgif, libpng, libpng-devel)をインストールせよと書かれています。 そうか、私の環境ではインストールしていないな!
インストールすれば何とかなるかも。ということで、いご(libgif, libpng, libpng-devel)をインストールすることにします。
とりあえず (BitWalkのMing-toolsにはbisonもlibpngもはいっていました)
http://mapserver.gis.umn.edu/data2/wilma/mapserver-users/0405/msg00265.html
を参考に行なっていくことにします。
えーと、config.makeをいじったことは問題ではなかったようです。さらにgifを利用しないためにソースをいじらなくては
ならないようです。
./src上の ming_config.hをいじります。
#define USE_GIF 1 //を
#define USE_GIF 0 //に変えます
さらにming.hも変更するようですが,Ming-0.3βでは変更はすでになされていました。
黄色く書かれた部分は実際に行ってみたが、解決には至らなかった。そもそもpngdblのエラーについて書かれていたわけではなかった。
ほとんどundefined ということなので実際にpngdbl.cを見てみることにします。
確かに定義されていないです。 困ったなー、どうなっているんだろ。
そして新たな発見
C:\ming-0.3beta1\src>blocks/bitmap.o(.text+0xe8):bitmap.c: undefined reference to `newSWFDBLBitmapData_fromGifInput'
とbitmapでもなにやら怪しい動きが、なぜ気がつかなかったのだろう?
話は戻るが”png_set_filler'など定義されていないもろもろのものが書かれている場所があるか調べてみたいな!
全文検索でもしてみるかなーー。 以前作成したperlの全文検索があるはずだが・・・。
見つからない・・・。それは・・・・次の機会にしよう。
とりあえずmake clean して後 makeを行う。
こんな感じになりましたエーとbitmap.cのエラーは消えました。
後はpnhdblだけのようですが、 まだまだ道のりは長そうです。
|
とりあえず終了する前に
png_rw_ptr をwww.google.co.jpで検索。
http://www.freepascal.org/docs-html/packages/png/index-5.html
というのがありました。
type png_rw_ptr = procedure(
Arg1: png_structp;
Arg2: png_bytep;
Arg3: png_size_t
);
とのことらしいのですが。typeってなんだろ?
次はpng.hを検索
C++ Library StartLightStream
Png利用術
などが出てきた。次はここらへんからアプローチしようかな。
とりあえず、今日のMingは終わります。
ps make_config.hの中を”#define USE_PNG 0”と書き換えると
とりあえず libming.so を吐き出してくれます。
makeの結果はこうなりました
いろいろインストールして汚くなってしまったので、MSYSとMinGWを入れなおしました 。
MinGWとpnglibとbisonとflexはBitWalkのものを
MSYSはMinGW.ORGのものを使用しています
|