ページ 11

シューティングの館 第6章 に関する質問

Posted: 2008年4月30日(水) 18:40
by fffff
 すいません、今回はシューティングの館、第6章に関する質問があります。

 私は『 BCC Developer 』を使いながら当サイト様で勉強させていただいているのですが、
 サイトの方で掲載されている例が『 VC++ 』で紹介されていることもあり、
 第6章の通りに『 C++ 』ファイルを作ってもエラーとなってしまいます。

 というのも、
 サイトの方で『ソリューションファイル』とあるものが、
 『 BCC Developer 』では何に該当するのかが分からず、どう対応すれば良いのかが分からないのです。
 (最も、サイトに掲載されているのは『 VC++ 』での例なので、違うというのは当たり前のことなのですが……)

 それでもなんとかやってみようと、サイトの完成例を見ながら、
 プロジェクトファイルの中に『C++』ファイル(cppファイル)を入れておくフォルダ『Source File』と、
 ヘッダファイル(+その他)を入れておくフォルダ『DxLib』とを作成し、
 第6章で製作したファイルを完成例に倣い、分けて入れてみました。

 ですが、当然というべきか、やはりエラーが出てしまいます。
 また、完成例にはヘッダファイル等を入れておくフォルダの中に『 DxLib.h 』『 DxLib.txt 』のファイルがあり、
 手探りながらも『 DxLib.h 』は追加することが出来たのですが、
 『 DxLib.txt 』はどうやら追加することができないみたいで、途方に暮れています。


 『 BCC Developer 』で第6章のような設定を無事に完成させるには、
 どのように対応すればよいのでしょうか?

Re:シューティングの館 第6章 に関する質問

Posted: 2008年4月30日(水) 19:05
by カイ
開いてみればわかると思いますが、『 DxLib.txt 』はおそらくDxライブラリの説明書なので、
ソースには関係してないと思いますよ。

あとはplayer.cppなどを
ファイル→新規作成→(C/C++ファイル) ファイル名.cpp (現在のプロジェクトに追加する)で
1つずつ追加し、ソースを写せばうまくいくかと。

Re:シューティングの館 第6章 に関する質問

Posted: 2008年4月30日(水) 19:57
by toyo
>プロジェクトファイルの中に『C++』ファイル(cppファイル)を入れておくフォルダ『Source File』と、
>ヘッダファイル(+その他)を入れておくフォルダ『DxLib』とを作成し、

フォルダは作らないほうがいいでしょう
cppとhは同じところに無いとエラーになります。

Re:シューティングの館 第6章 に関する質問

Posted: 2008年4月30日(水) 20:40
by toyo
実際にやってみましたが添付画像のようになります
それとBCCの場合はmain.cppで修正が必要になるようです
extern ~
の部分をWinMainの外に移動させないとエラーになります。(画像参照)

Re:シューティングの館 第6章 に関する質問

Posted: 2008年4月30日(水) 20:54
by fffff
 カイ様、toyo様、どうもありがとうございます。
 toyo様の指示通りに extern の箇所を WinMain~ の前に持ってきたところ、
 無事にメイクが完了し、プログラムも無事に作動しました。
 どうもありがとうございます!


 ……ところで質問なのですが、
 BBCではどうして WinMain よりも前に extarn の宣言を置かなければならないのでしょうか?

 同じようなケースを回避するためにも、その辺りの知識をもう少し私自身が深める必要があるかと思い立ったのですが、
 今回のメイク失敗の原因がそもそも理解できていないので、どこをどういう風に調べればいいのか見当が付かなくて……

Re:シューティングの館 第6章 に関する質問

Posted: 2008年5月01日(木) 00:00
by tk-xleader
過去ログの文脈から推測すると、BCCの特殊な使用が原因みたいです。

ただ、WinMain関数内にextern宣言を書くということ自体があまり必要性がないと思います。
プロトタイプ宣言はヘッダーファイルの中にまとめてしまい、それを#includeするのが一番ポピュラーな方法だと思います。

Re:シューティングの館 第6章 に関する質問

Posted: 2008年5月01日(木) 12:02
by fffff
 カイ様、回答ありがとうございます。(_ _)

>ただ、WinMain関数内にextern宣言を書くということ自体があまり必要性がないと思います。
>プロトタイプ宣言はヘッダーファイルの中にまとめてしまい、それを#includeするのが一番ポピュラーな方法だと思います。

 うーん、BCCの仕様ですか~。
 こればっかりはさすがに分からないですよね……。
 とりあえず、extern 宣言はこれからは WinMain 関数の中には置かないようにしてみます。

 長くなりましたが、回答してくださった方々、どうもありがとうございました!