午後のこ〜だをMingw32-gccでコンパイル


2001/02/05: MAKEFILEの不具合修正しました。(tables.cのファイル名間違い)

なんとか mingwin32-gccで gogo.exeの makeに成功しました(^^;)
ちゃんと動いてるようだからたぶん大丈夫でしょう。
使用したのは 「午後のこ〜だ Ver2.39b」のソースです。

dllの方はこちら
素直に VC++ 6 使えば簡単なんですけどね(^^;) 私の持ってるのは Standard版なので最適化オプションが
全く使えないせいか、かなりスピードダウンしてしまうようです。

必要な物
   Mingw32-gcc-2.952(コンパイラ)
      ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95.2/
      ここで  gcc-2.95.2-msvcrt.exe  と  fixes/quote-fix-msvcrt.exe をダウンロードしてきて
      インストール。
   NASM(アセンブラ) Ver0.98以降
      http://www.web-sites.co.uk/nasm/
   午後のこ〜だソース
      http://homepage1.nifty.com/herumi/

  あと詳細は「午後のこ〜だ」ソースに含まれているドキュメントを読んでください。

なおここに書かれている情報は無保証とさせて頂きますのでその点ご留意して利用してください。
またここに書かれている方法に関して「午後のこ〜だ」作者の方に質問メールなどをしないようお願い
致します。自力でなんとかしてください。

まず makefile.dj を修正 (上の行を下の行のように変更)してgogoのソース
のフォルダへコピー
----------------------------------------------------------------------
makefile.dj:10 3DNow!を使用する場合
#USE_E3DN=yes
USE_E3DN=yes

makefile.dj:22  Windowsの指定
#OS=Windows
OS=Windows

makefile.dj:24  DOSをコメントアウト
OS=DOS
#OS=DOS

makefile.dj:49  nasmを使う場合はそのままで可
AS=nasm
AS=nasmw

makefile.dj:107 BORLANDCと同じ指定にしないと実行時にエラー発生
 -DCOFFはアセンブラ内てせ使われているcoff(x,y)と定義がバッティングするので削除
ASFLAGS+= -f win32 -DWIN32 -DCOFF
ASFLAGS+= -f win32 -DWIN32 -D__BORLANDC__

makefile.dj:173   ファイル名のタイプミス(オリジナルのMakefileにもあり)
table.o    : table.c
tables.o   : tables.c
----------------------------------------------------------------------

gccで以下の部分でエラーになるので型キャストで逃げる(^^;)
----------------------------------------------------------------------
musui.c:941
(curTime%CLOCKS_PER_SEC)*(1000000L/CLOCKS_PER_SEC),
((long)curTime%(long)CLOCKS_PER_SEC)*(1000000L/CLOCKS_PER_SEC),

musui.c:991
(curTime%CLOCKS_PER_SEC)*(1000000L/CLOCKS_PER_SEC),
((long)curTime%(long)CLOCKS_PER_SEC)*(1000000L/CLOCKS_PER_SEC),
----------------------------------------------------------------------


以上の修正をして make -f makefile.dj と打込んでMAKE (いくつかワーニング
が出るが特に気にしない(^^;) とくに pragma messageのワーニングはね。)
出来上がった gogo.exe でいくつかエンコードしてみた限りでは正常に
動作しているようです。
※makeコマンドを実行する時はカレントディレクトリを上記makefile.djを置いてある
フォルダに移動してから実行してください。

あと 3DNow!対応版にするにはソース付属のドキュメントに従って *.nas
または nasmの処置をする必要があります。(私は 3DNow!対応 nasm に
したのを使いました。)・・・・ nasmw.exeからの差分

それから japanese.msg は 文字コードはEUCのままにして改行コードだけ
CR/LFに変換するようにしないと余計な手間が増えます(gccはSJIS漢字コード
とエスケープ文字\のバッティングに対応していないため)
他のファイルも改行コードだけの変換でOKです・・・・ただソースコードのコメント
読むにはSJIS変換しておいたほうがいいかも。


戻る