ページ 1 / 1
エラーがよくわかりません
Posted: 2012年10月10日(水) 00:50
by アップルミスト
弾を発射する段階でつまづきました。
http://firestorage.jp/download/969d7da6 ... 2c3b4c66fa
こちらで見て頂ければと思います。
構造体がなにか間違っているらしい(?)のですが、自分ではどこが間違っているのかいくら見直してもわかりません。
ご指摘頂ければと思います。
上下左右→上下左右移動
Z→弾発射
敵は今のところ固定
左のHPの表示は飾りです
開発環境は
Windows Vista
Visual C++
DXライブラリ
です
Re: エラーがよくわかりません
Posted: 2012年10月10日(水) 11:56
by Tatu
ダウンロードしてコンパイルしてみましたがエラーは出ませんでした。
また、動作も特に不自然な感じはしませんでした。弾も出ています。

- SS.png (53.68 KiB) 閲覧数: 5861 回
構造体が間違っているらしいというのはどうしてですか?
作っているときにエラーが出たのならエラーの出ているものを
アップロードし、どんなエラーが出ているのかを説明してもらわないと
何が問題なのかを調べることができません。
いったい何を聞きたいのですか?それがわからないと誰も回答できません。
Re: エラーがよくわかりません
Posted: 2012年10月10日(水) 12:06
by softya(ソフト屋)
弾は発射されているように見えますので、問題点が良く分かりません。
どういう問題か具体的に説明をお願いします。
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:02
by アップルミスト
自分で別の場所にダウンロードして解凍したらできました・・・
じゃあもともとの場所でこんなエラーがでてしまったのですが、これはなんでしょう?
1>------ ビルド開始: プロジェクト: overarmored, 構成: Debug Win32 ------
1>initial.obj : error LNK2001: 外部シンボル ""struct SHOT_t (* PlayerShot)[15]" (?PlayerShot@@3PAY0P@USHOT_t@@A)" は未解決です。
1>player.obj : error LNK2019: 未解決の外部シンボル "struct SHOT_t (* PlayerShot)[15]" (?PlayerShot@@3PAY0P@USHOT_t@@A) が関数 "void __cdecl PlayerControl(void)" (?PlayerControl@@YAXXZ) で参照されました。
1>C:\Users\Huy\documents\visual studio 2010\Projects\overarmored\Debug\overarmored.exe : fatal error LNK1120: 外部参照 1 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:11
by softya(ソフト屋)
弾丸オネエ さんが書きました:自分で別の場所にダウンロードして解凍したらできました・・・
じゃあもともとの場所でこんなエラーがでてしまったのですが、これはなんでしょう?
1>------ ビルド開始: プロジェクト: overarmored, 構成: Debug Win32 ------
1>initial.obj : error LNK2001: 外部シンボル ""struct SHOT_t (* PlayerShot)[15]" (?PlayerShot@@3PAY0P@USHOT_t@@A)" は未解決です。
1>player.obj : error LNK2019: 未解決の外部シンボル "struct SHOT_t (* PlayerShot)[15]" (?PlayerShot@@3PAY0P@USHOT_t@@A) が関数 "void __cdecl PlayerControl(void)" (?PlayerControl@@YAXXZ) で参照されました。
1>C:\Users\Huy\documents\visual studio 2010\Projects\overarmored\Debug\overarmored.exe : fatal error LNK1120: 外部参照 1 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
ソリューションのリビルドをしてみてもらえますか?
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:18
by 赤鬼
よく、この掲示板を見て思うのですが、コンパイルエラーやリンクエラーならエラーコードをちゃんと張りましょう。
エラーコード無しで分かるのはエスパー位です。
コード:
typedef struct{
double x,y;
int flag;
}SHOT_t;
SHOT_t PlayerShot[PLAYER_MAX_SHOT1][PLAYER_MAX_SHOT2];
がないか、コンパイル時のコンパイラの最適化の際に問題があった可能性があります。
上記のがグローバル空間に定義されているなら(extern.h だと思いますが)もう一度リビルドされてみてはどうでしょうか?
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:26
by アップルミスト
申し訳ないのですが、リビルドの仕方を教えていただけませんか?
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:30
by 赤鬼
弾丸オネエ さんが書きました:申し訳ないのですが、リビルドの仕方を教えていただけませんか?
環境によりますがVC2010なら上の方に有るメニューバーの"ビルド"の中に"ソリューションのリビルド"と言うのを選択して出来ます。
CTRL+ALT+F7キーでも出来ます。
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:35
by アップルミスト
メニューバーになかったので困ってしまいましたが、キーでできました!
リビルドをしたところ、エラーが発生しなくなりました。
ありがとうございます。
質問が多くなってしまうのですが、こういうのはなにに注意すればいいのでしょう?
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:47
by 赤鬼
弾丸オネエ さんが書きました:メニューバーになかったので困ってしまいましたが、キーでできました!
リビルドをしたところ、エラーが発生しなくなりました。
ありがとうございます。
質問が多くなってしまうのですが、こういうのはなにに注意すればいいのでしょう?
そう言う場ですから余り気にしなくて良いかと思います(笑)。私も良く逸れますし(おぃ
話題が変わるようなら、別に立てれば良いと思います。
コンパイラの不調は予期出来ない場合が多いので、あれ?おっかしいなぁ・・・って思ったときはリビルドするのが良いと思います。
2~3やっても駄目な場合は、コードが間違ってると思って下さい。
あと、出来るだけ不要な常駐ソフトを切ったり、メモリに余裕を持って下さい。
また、分割コンパイルに付いて学べば分かると思いますが、LINKエラーはたいていうっかりミスが多いです。宣言忘れたり、定義忘れたり。
うっかりミスをしていないのにエラーが出る場合は、コンパイラの不調を疑って下さい。
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 00:53
by アップルミスト
わかりました!
こんな夜遅くまで付き合ってもらい、わかりやすいアドバイスもしてくださってありがとうございました
おやすみなさい^^
いや、まだ夜はこれからなのか・・・?
Re: エラーがよくわかりません
Posted: 2012年10月11日(木) 01:22
by softya(ソフト屋)
弾丸オネエ さんが書きました:メニューバーになかったので困ってしまいましたが、キーでできました!
リビルドをしたところ、エラーが発生しなくなりました。
ありがとうございます。
質問が多くなってしまうのですが、こういうのはなにに注意すればいいのでしょう?
こんな所でしょうか。
・コンパイル中に変更しない。
・ソリューションエクスプローラに必ずヘッダとソースは登録する。
・たまにリビルドする。