制作日記

こういうの作った方が、逃げにくいじゃない

allegro

mugenで使ってるallegroのライブラリalleg40.dllはmugen-hiに同梱されてるの使ってるけど
試しにallegro公式サイトからソース持ってきて自前でビルドしてみた
ビルド環境はcygwin+mingw(i686-w64-mingw32)
古すぎてビルド通すのも一苦労
特に何か効果があったわけではないけど、patch公開しとく

allegro_patch.ico

手順
$ wget http://download.gna.org/allegro/allegro/4.0.3/allegro-4.0.3.tar.gz
$ wget http://blog-imgs-104.fc2.com/d/r/a/drabs/allegro_patch.ico
$ rm -rf allegro-4.0.3 && tar xf allegro-4.0.3.tar.gz
$ cd allegro-4.0.3
$ ./fix.sh mingw32
$ patch -p0 < ../allegro_patch.ico
$ make
makeはdemo.exeのビルドでこけるけど、この時点でalleg40.dllはビルド終わってるから問題なし

以下、ビルド通るまでの紆余曲折
サイト:http://liballeg.org/
Older vbersionから4.0.3持ってくる
4.0.0でもいいけどpatch当たらない
はじめは4.0.0でビルド通してpatch作って、その後4.0.3用にpatch作り直したから
4.0.3と同じように修正すればビルドは通る

適当なとこに解凍して
allegro-4.0.x\docs\build\mingw32.txt
の Setting up Cygwin to build Allegro
に従って設定していく

dx70_mgw.zip持ってくるのは飛ばした、VC入れてるし無視
入れようと思ったけど止めた、誰か頑張れ
http://download.gna.org/allegro/files/dx70_mgw.zip

makefileでtoolchainをgccとか直で叩いてるから、適当にmingwに書き換え
あとは、ビルドオプションとか諸々をその場しのぎで修正
ソースも一部こけるから修正
それでもこけるとこを、色々試しつつ無難かつお手軽な方法で修正

で、とりあえずビルド通ってmugen起動するとget_dx_verないって怒られる
munge-hiに同梱されてるalleg40.dllはget_dx_verをエクスポートしてるっぽい?
というわけで、lib/mingw32/allegro.defにget_dx_ver追加してmugenとリンクできるようにエクスポートしてやる
これでリンクは成功するけど、次はDXのversionで怒られて起動できない
面倒だから固定値で0x800を返すように変更

コメントの投稿

非公開コメント

プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク