ページ 11

致命的なエラー・・・?

Posted: 2012年11月16日(金) 22:25
by Gluek
こんばんわ、いつもお世話になってます。Gluekです。

ゲーム制作の為にC言語を現在勉強中で、その知識を活かしてシューティングゲームを制作しようと奮起しております。

早速少しずつプログラムを組んで実行していっていたのですが、一つどうしても分からない問題が起こりました。

ビルドをしていてエラーが出て「出力」の欄でエラーの原因を突き止めようとしたら

「未解決の外部シンボル」や「fatal error」が出てきました。

いったいこれが何を指し示すかも分かりませんし、
なぜこうなったのか自分でもわけがわかりません・・・

一体どういうことなんでしょうか?

Re: 致命的なエラー・・・?

Posted: 2012年11月16日(金) 22:37
by softya(ソフト屋)
全部のエラーメッセージを貼って頂かないと答えられませんがリンクのエラーです。
原因は関数名の間違いなどで、それ以上は見てみないとなんとも言えません。

Re: 致命的なエラー・・・?

Posted: 2012年11月16日(金) 22:44
by Gluek
そのエラー文を全部表示するとこんな感じです

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: 致命的なエラー・・・?

Posted: 2012年11月16日(金) 22:44
by box
Gluek さんが書きました: 「未解決の外部シンボル」や「fatal error」が出てきました。
関数を呼び出しているところと実際の関数定義とで、
関数名が大文字・小文字を含めて1文字でも食い違っているとまずいです。

エラーメッセージに従って、修正する必要があると思います。

Re: 致命的なエラー・・・?

Posted: 2012年11月16日(金) 22:54
by softya(ソフト屋)
そうですね。
このエラーはVC++のリンカーがGetHitKeyStateAll_2()と言う関数が見当たらないと言っています。
1.名前は間違っていませんか?
2.GetHitKeyStateAll_2()の関数の実体はちゃんとありますか?
3.あと龍神録をベースにしているならkey.cppはちゃんとコンパイル・リンク対象になっていますか?

Re: 致命的なエラー・・・?

Posted: 2012年11月17日(土) 17:35
by Gluek
とりあえず現在は龍神録のプログラムをベースとしてやっています

上記二つのことがあてはまってなかったので多分3の方かと思われますが

コンパイル、リンク対象とはどこで確認できるのでしょうか・・・?

Re: 致命的なエラー・・・?

Posted: 2012年11月17日(土) 17:45
by たいちう
変な設定をしていなければ、ソリューション エクスプローラーにファイルがあればOKかと。
なければ、右クリック → 追加 → 既存の項目 から、追加してください。

Re: 致命的なエラー・・・?

Posted: 2012年11月17日(土) 22:58
by Gluek
自己解決できました、Key.cppをいろいろといじくっていたらコンパイル成功しました

Re: 致命的なエラー・・・?

Posted: 2012年11月23日(金) 12:02
by isilo
すでに解決したとは思いますが補足。
エラー文の中に、どの部分でエラーが起きているのかは書いてあります。

もしもう一度そのようなことがあったら、
まずはその部分を見直ししてみてください。