ページ 11

プロセスが終了せずビルドできない。

Posted: 2009年12月27日(日) 20:53
by 餅男
起動中に新しくビルドするとこれがでるのはわかるのですが
一度閉じてソースを少しでも改修するとしてビルドすると下記の文が出ます。

タスクマネージャーのプロセスから一回一回終了させております。
今まで出なかったのですがソースが原因なのでしょうか。

お手数おかけいたしますが教えては頂けないでしょうか。

エラー
fatal error LNK1104: ファイル 'D:\PG\DirectX\DXシーン管理 091017\Debug\DxLib_VC2005用.exe' を開くことができません。

Re:プロセスが終了せずビルドできない。

Posted: 2009年12月27日(日) 21:20
by Justy

> ソースが原因なのでしょうか

 ソースが原因です。

 DXライブラリのウインドウを閉じたりエスケープキーなどが押されると DxLib_End関数が
呼ばれるようになっていますが、この関数はDXライブラリの終了処理を行うものであって
プロセスを終了するものではありません。

 その為、DXライブラリは終了しウインドウは消えても while(1)のループからは抜けていないので
ひたすらループを実行しつづけ、結果プロセスは残ったままとなります。

 終了時には WinMain関数を終わらせるようにしましょう。

Re:プロセスが終了せずビルドできない。

Posted: 2009年12月27日(日) 22:11
by 餅男
Justy様
breakしたら出来ました。
ありがとうございます。

ただ普通に実行するとよく落ちる(応答なし)のですがこれは
CheckHitKey(KEY_INPUT_F1)とかが原因でしょうか?

気のせいかもしれませんがマウスを画面外に動かしたり
するとよく落ちる気がします。

Re:プロセスが終了せずビルドできない。

Posted: 2009年12月27日(日) 22:37
by Justy

> 応答なし

 応答なしになる原因として定期的に ProcessMessage関数が呼ばれていないことが挙げられますが
ざっとコードを追ってみたかんじでは(問題点はいろいろありますが)特にそういう原因と
なりそうなところはありませんでした。

 一応念の為に ProcessMessage関数をループの先頭で実行してみてはどうでしょう?
 それでもまだ発生するようなら、デバッガを使ってどこで処理が止まっているのか
調べてみて下さい。