[リストへもどる]
一括表示
タイトルアセンブリ?
記事No139
投稿日: 2001/12/09(Sun) 12:17
投稿者tatuto
午後のこ〜だv3.07をMingw/gcc 2.95.2
でコンパイルしたいのですが
gogo.exe gogo.dllともに同様のエラーが出ます
アセンブラはnasmw098_sse2.zipを使用しています。
エラーメッセージが結構長いので
http://www5.ocn.ne.jp/~tatuto/gogo.lzh
にアップしています。
アセンブリはチンプンカンプンなので
なにか助言が頂ければ幸いです


タイトル アセンブリ?
記事No140
投稿日: 2001/12/09(Sun) 22:12
投稿者
> エラーメッセージが結構長いので
> http://www5.ocn.ne.jp/~tatuto/gogo.lzh
> にアップしています。

これは Makefile.mingw または Makefile_dll.mingw を使って出たエラーという
ことでよろしいでしょうか?

gogo3.0x を解凍したディレクトリからの相対パスで書くと engine\i386 にある
global.cfg というファイルが壊れているか内容が無いかどっちかのように見え
ます.

これが原因だとすると,この global.cfg を消して再度 make してもらえば正し
い内容の global.cfg が再生成されてエラーが出なくなると思います.


タイトル アセンブリ?
記事No141
投稿日: 2001/12/10(Mon) 15:05
投稿者tatuto
> これは Makefile.mingw または Makefile_dll.mingw を使って出たエラーという
> ことでよろしいでしょうか?

その通りです。
Makefile.mingw Makefile_dll.mingw両方でやってみました

> gogo3.0x を解凍したディレクトリからの相対パスで書くと engine\i386 にある
> global.cfg というファイルが壊れているか内容が無いかどっちかのように見え
> ます.
>
> これが原因だとすると,この global.cfg を消して再度 make してもらえば正し
> い内容の global.cfg が再生成されてエラーが出なくなると思います.

global.cfgを消してmakeしてみましたが
同様のエラーが出ますので違うようです。
こちらの環境特有なのでしょうか?
Win2000 Pro SP2
IE 6.0
Mingw/gcc 2.95.2 19991024
nasmw098_sse2

nasmwは入っていたWindows用バイナリを
そのままgcc\binに入れて使っています。


タイトル アセンブリ?
記事No142
投稿日: 2001/12/10(Mon) 19:42
投稿者
> global.cfgを消してmakeしてみましたが
> 同様のエラーが出ますので違うようです。

んんん,あとは nasm.cfg が壊れているんでしょうか?

出ている最初のエラーが
> ../engine/i386/quantizea.nas:9: parser: instruction expected
なわけですが,これは externdef というマクロを使っていまして,そのマクロ
は nasm.cfg で定義されています.他のエラーも同様に nasm.cfg で定義されて
いるマクロを使っている行で発生しています.

quantizea.nas は global.cfg を %include し,global.cfg が nasm.cfg を
%include することでこのマクロを使っています.ですので,まず,global.cfg
を疑ったのですが,後は nasm.cfg が壊れているのかもしれませんので,
nasm.cfg だけでも解凍し直して試してもらえませんか?もし nasm.cfg も正常
だとすると,正直言って他の原因が思いあたりません.

> Mingw/gcc 2.95.2 19991024

Ver. 2.95.2 だと Makefile_dll.mingw でリンク時にエラーになるはずなのでアッ
プデートしてもらった方がいいですが,その件とアセンブラのエラーは関係ない
はずですし 2.95.2 でも Makefile.mingw の方は正常に動くはずだし...困
りました.


タイトル アセンブリ?
記事No143
投稿日: 2001/12/11(Tue) 16:45
投稿者tatuto
> んんん,あとは nasm.cfg が壊れているんでしょうか?
>
> 出ている最初のエラーが
> > ../engine/i386/quantizea.nas:9: parser: instruction expected
> なわけですが,これは externdef というマクロを使っていまして,そのマクロ
> は nasm.cfg で定義されています.他のエラーも同様に nasm.cfg で定義されて
> いるマクロを使っている行で発生しています.
>
> quantizea.nas は global.cfg を %include し,global.cfg が nasm.cfg を
> %include することでこのマクロを使っています.ですので,まず,global.cfg
> を疑ったのですが,後は nasm.cfg が壊れているのかもしれませんので,
> nasm.cfg だけでも解凍し直して試してもらえませんか?もし nasm.cfg も正常
> だとすると,正直言って他の原因が思いあたりません.

何故だかは分かりませんが
作成されたglobal.cfgの中身を見てみたら空でした。
これが原因のような気がするのですが


タイトル アセンブリ?
記事No144
投稿日: 2001/12/11(Tue) 16:59
投稿者tatuto
> 作成されたglobal.cfgの中身を見てみたら空でした。
> これが原因のような気がするのですが

これが原因でした。
手動で
gcc -I../engine -Wall -O2 -finline-functions -funroll-loops -fno-expensive-optimizations -DNDEBUG -DHAVE_CONFIG_H -DLAMEPARSE -DLAMESNDFILE -DUSE_X86ASM -DUSE_WINTHREAD -DUSE_TTIMER ../engine/i386/makecfg.c -o makecfg.exe
とやった後
makecfg.exe > ../engine/i386/global.cfg
とやったらglobal.cfgが正しく作成されて
makeしたら出来ました
ありがとうございました m(_ _)m


タイトル アセンブリ?
記事No145
投稿日: 2001/12/11(Tue) 17:10
投稿者tatuto
解決策は
Makefile.mingw
Makefile_dll.mingw
共に
21行目の
MAKECFG = ./makecfg.exe

MAKECFG = makecfg.exe
に修正すれば出来ました


タイトル アセンブリ?
記事No146
投稿日: 2001/12/12(Wed) 15:56
投稿者
> MAKECFG = ./makecfg.exe
> を
> MAKECFG = makecfg.exe
> に修正すれば出来ました

ありがとうございます.ううむ,でも,うちではここを変更すると Make 中に下
記のようなエラーが出ちゃうんですよ.

> makecfg.exe > ../engine/i386/global.cfg
> makecfg.exe: not found

Make が Unix 流儀のパス検索をしている関係で makecfg.exe がカレントディレ
クトリにあっても見つけてくれないんだと思うんですが,tatuto さんのとこで
はこれで動くようになるんですよね?困ったな.

それではですね,Makefile.mingw と Makefile_dll.mingw の MAKECFG は現状の
ままにして,下記のようなコメントを付記しようと思います.
> makecfg.exe や global.cfg がうまく生成されないようなら
> MAKECFG = ./makecfg.exe
> を
> MAKECFG = makecfg.exe
> と変更してください reported by tatuto さん


タイトル アセンブリ?
記事No147
投稿日: 2001/12/12(Wed) 21:45
投稿者tatuto
> Make が Unix 流儀のパス検索をしている関係で makecfg.exe がカレントディレ
> クトリにあっても見つけてくれないんだと思うんですが,tatuto さんのとこで
> はこれで動くようになるんですよね?困ったな.

そうです。
とりあえず、訂正したMakefileでMakeが吐いたコマンドラインを
http://www5.ocn.ne.jp/~tatuto/cmd.lzh
にアップしましたのでもし参考になれば

> それではですね,Makefile.mingw と Makefile_dll.mingw の MAKECFG は現状の
> ままにして,下記のようなコメントを付記しようと思います.
> > makecfg.exe や global.cfg がうまく生成されないようなら
> > MAKECFG = ./makecfg.exe
> > を
> > MAKECFG = makecfg.exe
> > と変更してください reported by tatuto さん

了解しました。
サポートありがとうございました。 m(_ _)m