VisualC++2010ExpressでDirectShowのフィルタ開発

このエントリーをはてなブックマークに追加

chakemiです。会社から支給されているLet’Noteの調子がよくありません。
もともと人のお下がりだったので、これを機に新しいのを買ってもらいたいなぁなんて、淡い期待をしております。

Let’Noteがお亡くなりになるととても困ることがあって、DirectShowのフィルタを作成中(半年以上触れてないですが・・・)でして、開発環境もソースもそこにしかない状態です。

なので、本日は別PCにDirectShowの基底クラスをコンパイルを行い開発準備を整えてみたいと思います。

開発環境:
Windows7 Professional 32bit
VisualC++2010Express
WindowsSDK

Let’sNoteでは、VC2008Expressを使用しておりましたが、今回は2010で行います。

DirectShowの基底クラスはWindowsSDKに含まれるようになりましたので
WindowsSDK(v7.1)をダウンロードします。
http://msdn.microsoft.com/ja-jp/windows/bb980924

インストールが完了したら、「C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses」ディレクトリにある「baseclasses.sln」を開きます。

ダイアログが表示されるので、実行権限を管理者に変更して実行するようにします。
baseclasses_dialog
 

プロジェクト変換ウィザードでVisualStudio2010用に変換を行います。
report
 

BaseClassesのプロパティを開き、プラットフォームツールセットを「Windows7.1SDK」を参照するよう変更します。
sdk
 

次にBaseClassesのプロパティの「構成プロパティ」->「ライブラリアン」->「全般」を開き
「すべての構成」「すべてのプラットフォーム」を選択、出力ファイルを $(OutDir)$(TargetFileName)に設定します。
output
 

「構成プロパティ」->「全般」のターゲット名を構成ごとに設定します。
[Debug][DebugMBCS] -> strmbasd
[Release][ReleaseMBCS] -> strmbase

コンパイルが正常に終わったら

「C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses」ディレクトリに各々のターゲットごとのフォルダができてライブラリファイルが出力されています。

return top