ページ 11

ヘッダファイルのインクルード

Posted: 2011年3月20日(日) 22:16
by えん
main.cppからVase.hへとインクルードして、
vase.hからDxLib.h、その他自作ヘッダをインクルードしようとしたのですが、
なぜか自作ヘッダのみ「ソースファイルを開けません」とエラーがでます。

コード:

 

/* 変数、ヘッダの置き場所 */

#include "../../include/Dxlib.h"

#include "struct.h"

#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern 
#endif

GLOBAL int func_state;//メイン関数の分岐に使う数字

GLOBAL int img_ch;//操作キャラの画像

GLOBAL ch_t ch;//キャラクタデータ宣言

#include "function.h"           //関数宣言



Vase.hを貼り付けさせていただきましたが、
3つあるincludeのうち上のひとつは大丈夫ですが、他にエラーがでます。
function,struct共に左側のヘッダーファイルの中に入っていますし、
Vase.hと同じファイルの中に入っています。

どなたかご指摘お願いいたします。

Re: ヘッダファイルのインクルード

Posted: 2011年3月20日(日) 22:29
by dic
どういったコンパイルエラーメッセージがでてるでしょうか?
全部貼り付けてもらえませんでしょうか?

Re: ヘッダファイルのインクルード

Posted: 2011年3月20日(日) 22:34
by box
えん さんが書きました:main.cppからVase.hへとインクルードして、
main.cppからVase.h「を」インクルードして、というのが正しいんでしょうね、きっと。
えん さんが書きました:function,struct共に左側のヘッダーファイルの中に入っていますし、
左側のヘッダーファイル、というのが何のことなのかわかりません。
詳しく説明してください。
えん さんが書きました:Vase.hと同じファイルの中に入っています。
同じ「フォルダー(もしくはディレクトリー)」のことですか?

Re: ヘッダファイルのインクルード

Posted: 2011年3月21日(月) 07:54
by えん
説明不足で申し訳ありません!

左側の、というのはVisual Studio 2010を開いた時のソースファイル、ヘッダーファイル、リソースファイルと分かれているとこのことです。

同じファイルにではなく同じフォルダでした。申し訳ありません。

エラーメッセージについてですが、コンパイル自体はできるのですが、
上に貼り付けた「#include "define.h"」と「#include "function.h" 」のincludeのところに赤い波線が引かれて、
「Error: ソースファイルを開けません」と出てきます。

Re: ヘッダファイルのインクルード

Posted: 2011年3月21日(月) 11:41
by Dixq (管理人)
ソリューションエクスプローラーのことですね。
あれはフォルダ構成とは関係ないですよ。
今一度保存しているフォルダを確認してはいかがでしょうか?
また、ヘッダファイルであれば、ソリューションエクスプローラーに含めなくてもinclude出来ます。

Re: ヘッダファイルのインクルード

Posted: 2011年3月21日(月) 17:05
by ISLe
ソリューションエクスプローラーのプロジェクト名にマウスカーソルを合わせて右クリックして現れるメニューから『ソリューションの再スキャン(S)』を選択すると直るかもしれません。

メインメニューの『ツール(T)』→『設定(S)』で『上級者用の設定』になっているなら、メインメニューの『プロジェクト(P)』の下にもあります。

Re: ヘッダファイルのインクルード

Posted: 2011年3月21日(月) 20:52
by えん
再スキャンしてみましたが、赤線は消えませんでした。

ただ、コンパイルに支障はないようなので解決とさせていただきます。
答えてくださった皆様ありがとうございました!