- ベストアンサー
猫でもわかるプログラミング74章について
http://www.kumei.ne.jp/c_lang/sdk/sdk_74.htm にあるプログラムなのですが ビルドすると、"OPENFILENAME: 定義されていない識別子です。" と出力されます。 何が原因なのでしょうか・・。 開発ソフトはVS2005 proを使っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
OPENFILENAMEは"commdlg.h"で定義されてます。 "windows.h"からも"commdlg.h"はincludeされてるので #include <windows.h> があれば定義されるはずなんですが
その他の回答 (1)
- PED02744
- ベストアンサー率40% (157/390)
回答No.1
ちゃんと読んでます?(^-^; 74章には、73章参照と書いてありますし、73章からはコモンダイアログ関連の章を参照と書かれていますよ? なんとなく、includeファイルが足らないだけのような気がしますが、 もしVS2005に存在しないとしても、猫Cの中にちゃんと構造が書いてありますので、大丈夫でしょう。 ※聞く前にちゃんと読みましょう・調べましょう。
質問者
お礼
ご返答ありがとうございます。 googleで検索するばかりで、74章を確り見通していませんでした。 やはり問題はヘッダにあったようです。猫プロには解決策はありませんでしたが、自分で調べる事は大切ですね。 ありがとうございました!
お礼
windowsヘッダを覗いてみたところcommdlgヘッダが記述されていたのですが、#define WIN32_LEAN_AND_MEANによって Windowsヘッダから除外されていましたので 自分で書き直したところ上手くビルドする事ができました・・ ご回答ありがとうございましたm(_ _)m