龍神録46・47章がビルド出来ない件について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ラグ

龍神録46・47章がビルド出来ない件について

#1

投稿記事 by ラグ » 16年前

いつも助けてもらってばかりのラグです。
お世話になっております。

龍神録の46章および47章がコンパイルエラーで通りません。
エラーログは以下のとおりです。


1>graph.obj : error LNK2019: 未解決の外部シンボル "int __cdecl DrawRotaGraphFdF(float,float,double,double,int,int,int)" (?DrawRotaGraphFdF@@YAHMMNNHHH@Z) が関数 "void __cdecl boss_assist_img(void)" (?boss_assist_img@@YAXXZ) で参照されました。
1>C:\Documents and Settings\USER1\デスクトップ\STG\MyProject\47章\Debug\RyuJin.exe : fatal error LNK1120: 外部参照 1 が未解決です。



46章および47章以外で50章までのものは全て通るようです。
ググってみたりもしましたが、どうも原因がわかりません。
どなたかこれを解決する方法を教えて頂けないでしょうか。
よろしくお願いします。

ねこ

Re:龍神録46・47章がビルド出来ない件について

#2

投稿記事 by ねこ » 16年前

原因を追究されてるようなので、こういう場合の対処法等を書いてみます。
「未解決の外部シンボル」とエラー分にある場合、
「その先の処理名(関数名等)がありませんよ」と言われています。
この場合「DrawRotaGraphFdF」関数が無いといわれている状態です。

また関数でこのエラーが出る場合、原因は2通りあります。
1.関数が定義されていない
2.関数を呼び出す際の引数の個数、または型が異なる

上記の内容からVisualStudioであれば、検索機能を用いて関数名を検索し、見つかった場合は引数の確認を。
見つからない場合は参考にしているページで処理の有無を確認しましょう。

恐らくそれで解決すると思います。

ラグ

Re:龍神録46・47章がビルド出来ない件について

#3

投稿記事 by ラグ » 16年前

>ねこさん
色々調べましたところ、Dxlib.h内の「DrawRotaGraphF」が「DrawRotaGraphFdF」に置き換わっていて、これを元に戻すとコンパイルが通りました。
龍神録プログラムの館第46章(http://dixq.net/rp/46.html)の指示通りに進めてきたのですが、このページの中ほどにある記述


ここは「置換」という機能を使いましょう。

graph.cpp内にある

+FX
+FY
+dn.x
+dn.y

これらを全て消してください。

置換ウィンドウを出して、検索文字列に上記を書き、置換する部分に何も書かなければよいです。

次に同様にgraph.cpp内の以下を

DrawRotaGraphF → DrawRotaGraphFdF

DrawModiGraphF → DrawModiGraphFdF

このように置換します。



ここで、どうやらソリューション全てのDrawRotaGraphFおよびDrawModiGraphFを置換してしまったため、Dxlib.h内の関数にも悪影響を及ぼし、エラーが発生していたようです。
記述をちゃんと読まなかった私のうっかりミスでした。お恥ずかしい限りです…。

今回はちゃんと原因をつきとめることが出来ました。次からはちゃんと本文読みます。
ご指導誠にありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る