こんばんわ、いつもお世話になってます。Gluekです。
ゲーム制作の為にC言語を現在勉強中で、その知識を活かしてシューティングゲームを制作しようと奮起しております。
早速少しずつプログラムを組んで実行していっていたのですが、一つどうしても分からない問題が起こりました。
ビルドをしていてエラーが出て「出力」の欄でエラーの原因を突き止めようとしたら
「未解決の外部シンボル」や「fatal error」が出てきました。
いったいこれが何を指し示すかも分かりませんし、
なぜこうなったのか自分でもわけがわかりません・・・
一体どういうことなんでしょうか?
致命的なエラー・・・?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 致命的なエラー・・・?
全部のエラーメッセージを貼って頂かないと答えられませんがリンクのエラーです。
原因は関数名の間違いなどで、それ以上は見てみないとなんとも言えません。
原因は関数名の間違いなどで、それ以上は見てみないとなんとも言えません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 致命的なエラー・・・?
そのエラー文を全部表示するとこんな感じです
main.obj : error LNK2019: 未解決の外部シンボル "int__cdecl GetHitKeyStateAll_2(void)" (?GetHitStateAll_2@@YAHXZ)が関数"int__cdecl ProcessLoop(void)" (?ProcessLoop@@YAHXZ)で参照されています
C:¥Users¥dynabook¥Desktop¥GameProg¥Debug¥GameProg.exe : fatal error LNK1120: 外部参照 1 が未解決です
と表示されていました
main.obj : error LNK2019: 未解決の外部シンボル "int__cdecl GetHitKeyStateAll_2(void)" (?GetHitStateAll_2@@YAHXZ)が関数"int__cdecl ProcessLoop(void)" (?ProcessLoop@@YAHXZ)で参照されています
C:¥Users¥dynabook¥Desktop¥GameProg¥Debug¥GameProg.exe : fatal error LNK1120: 外部参照 1 が未解決です
と表示されていました
Re: 致命的なエラー・・・?
関数を呼び出しているところと実際の関数定義とで、Gluek さんが書きました: 「未解決の外部シンボル」や「fatal error」が出てきました。
関数名が大文字・小文字を含めて1文字でも食い違っているとまずいです。
エラーメッセージに従って、修正する必要があると思います。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 致命的なエラー・・・?
そうですね。
このエラーはVC++のリンカーがGetHitKeyStateAll_2()と言う関数が見当たらないと言っています。
1.名前は間違っていませんか?
2.GetHitKeyStateAll_2()の関数の実体はちゃんとありますか?
3.あと龍神録をベースにしているならkey.cppはちゃんとコンパイル・リンク対象になっていますか?
このエラーはVC++のリンカーがGetHitKeyStateAll_2()と言う関数が見当たらないと言っています。
1.名前は間違っていませんか?
2.GetHitKeyStateAll_2()の関数の実体はちゃんとありますか?
3.あと龍神録をベースにしているならkey.cppはちゃんとコンパイル・リンク対象になっていますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 致命的なエラー・・・?
とりあえず現在は龍神録のプログラムをベースとしてやっています
上記二つのことがあてはまってなかったので多分3の方かと思われますが
コンパイル、リンク対象とはどこで確認できるのでしょうか・・・?
上記二つのことがあてはまってなかったので多分3の方かと思われますが
コンパイル、リンク対象とはどこで確認できるのでしょうか・・・?
Re: 致命的なエラー・・・?
変な設定をしていなければ、ソリューション エクスプローラーにファイルがあればOKかと。
なければ、右クリック → 追加 → 既存の項目 から、追加してください。
なければ、右クリック → 追加 → 既存の項目 から、追加してください。
Re: 致命的なエラー・・・?
すでに解決したとは思いますが補足。
エラー文の中に、どの部分でエラーが起きているのかは書いてあります。
もしもう一度そのようなことがあったら、
まずはその部分を見直ししてみてください。
エラー文の中に、どの部分でエラーが起きているのかは書いてあります。
もしもう一度そのようなことがあったら、
まずはその部分を見直ししてみてください。