ryn のメモ書き

技術的な話・ブログのカスタマイズ的な話をメモするブログ

C++:OPENFILENAMEが定義されていないとエラーが出る

ファイル選択ダイアログを表示してみるために、OPENFILENAMEを書いてみたが、エラーで定義されていないと出る・・。

んー・・何故??

と思ったところ、検索してたら同じように困っている人がいた。

"OPENFILENAME: 定義されていない識別子です。"
と出力されます。

okwave.jp

 

OPENFILENAMEは"commdlg.h"で定義されてます。
"windows.h"からも"commdlg.h"はincludeされてるので
#include <windows.h>
があれば定義されるはずなんですが

なるほど、commodlg.hのところを見ればよいらしい。

dosei.hatenadiary.jp

windows.hだと、インクルードファイルが多いからWIN32_LEAN_AND_MEANでいろいろ読むのを省略しているっていう話らしい。

#include <commdlg.h>

を別途定義して難なくOKでした。

docs.microsoft.com

これを見ると、どのヘッダに属しているか書いてますね・・久々すぎて鈍足ですね。

 ダメな子。