ページ 11

ヘッダファイルについて

Posted: 2009年10月18日(日) 19:38
by uwlover
こんばんは。
リソーススクリプトを作るのにも四苦八苦しているのですが、ヘッダファイルでも困ったことになってます。
というのは、メニューのIDをヘッダファイルで次のように定義したのですが、
#define ID_FILE 0
#define ID_EXIT 1
これがソースファイルで反映されないのです。
case WM_COMMAND:
			switch(LOWORD(wp)){
		    case ID_EXIT:
				SendMessage(hWnd,WM_CLOSE,0,0);
				break;

			default:
				break;
			}
ここで、ID_EXITを1と書き換えれば問題なくいくのですが、ID_EXITのままだと定義されてない識別子とエラーを返されます。ヘッダファイルをインクルードしてもそんなファイルは開けない(英語ではそんなものはないと言われてます)とのことです。
どうすればいいんでしょうか?そもそもヘッダファイルについての知識が皆無なのでしょうね…

Re:ヘッダファイルについて

Posted: 2009年10月18日(日) 21:08
by ねこ
こういう場合は出来ればinclude文も記載して欲しいです。

cppファイルとヘッダファイルを考慮した相対パスになっていますか?
例えばcppファイルが「source」というフォルダにあり、ヘッダファイルがプロジェクトと同じ階層にあれば
include "..\\Header.h"
となります。

単純なパスの記述ミスだと思うので、上記のあたりを確認してみてください。

Re:ヘッダファイルについて

Posted: 2009年10月18日(日) 21:36
by uwlover
すいません、知っておくべきことをあまりにも知らなさすぎるようです。パスは意味だけは知ってますが、
それをプログラム上に記述することが分かりません…そもそもファイルを分割したときにどうやって各ファイルを関連付けるのかもちゃんと理解していないみたいです。
ファイルの扱いやパスについて詳しく書いてあるサイトでもっと勉強してきます。この話は単にプログラムをここに出せばいいってものではなさそうですし。
一応ですが、cppファイルもヘッダファイルも、GameCreationというフォルダのbenkyouというフォルダにあります。ファイル名はどっちもbenkyou(拡張子が違うだけ)です。includeの<>の中にパスを入れるということ自体知らなかったので、#include<benkyou.h>という風にやってました。ファイル名とパスが同じでややこしいですが、この<>の中のbenkyouはファイル名しか意識してません。あと、<>のときと""のときの違いも分からないという…改めて重症というか、まだ手を出すべきじゃなかったですね

Re:ヘッダファイルについて

Posted: 2009年10月18日(日) 22:06
by uwlover
追記。自己解決しました。