Windows7でDirectshowのプログラミングを行う時の備忘録

2016年3月25日

slider1

8月にWindows Vista上のVS2008でDirectshowの開発環境を構築した後、Windows7へ開発環境を移行した。

すんなりと移行できるかと思ったがやはりそうは問屋が卸さなかったので、そのことを備忘録として残しておくことにする。
WindowsSDKも6.1から7.0へバージョンアップし、BaseClassesもビルドして、サンプルプログラムをビルドすると、qedit.hがないとコンパイラに怒られる。
フォルダの中を直に確認してもないのでGoogle先生に聞いてみると、'qedit.h' missing in current Windows SDK v7.0というページが見つかった。

>>The gist is that this will not be fixed for the official release of the Windows 7 SDK.
>>The workaround is to use the qedit.h from a previous Windows SDK release as several people have done in this thread.

元々RC版でqedit.hがないといって質問があがっているが、RTM版でも修正されていないので、前バージョンから持ってきて使えっていうようなことが書いてある。

ということで、VistaにインストールしているWindowsSDK6.1からqedit.hをコピーすると無事ビルド完了でめでたし、めでたし。

でも、なんだか引っかかるので、qedit.hをインクルードせずにビルドすると、ビルドできてしまうではないか。もしかするとと思いvista上でもqedit.hをインクルードせずにビルドしてみるとできてしまうではないか。同じサンプルをビルドするのに少なくともSDK5.xのころはqedit.hは必要だったはず。qedit.h自体が必要とされなくなったのか、それとも、このサンプルで使われている関数がqedit.hを必要としないだけなのか、ヘッダファイルの中身を細かく見ていけばわかるのだろうけど、ここは時間もないので、誰か真意がわかったら教えてください。(必要に迫られれば、自分で調べますが、今はその必要がないので・・・。)