Platform SDKのマニュアルを読んでいたら,ビルド方法が書いてあった.んでパスの設定方法も書いてあった.どうやら,VCがインストールされている場所(C:\Program Files\Microsoft Visual Studio 8\VC)にある,"vcvarsall.bat"をコマンドプロンプト上で実行すれば良いようだ.
マニュアルに従い,コマンドプロンプトを開いて"vcvarsall.bat"を実行し,SetEnv.cmdにてXP32のRETAIL環境にセットした後,nmakeすると,今度は
そこでJune 2006版をインストール(いらないと思ってアンインストールしたのにな...)し,nmakeすると,今度は
マニュアルに従い,コマンドプロンプトを開いて"vcvarsall.bat"を実行し,SetEnv.cmdにてXP32のRETAIL環境にセットした後,nmakeすると,今度は
というエラー.これはDirectDrawのヘッダファイルのようだ.つまり,DirectXのSDKも必要ってことか."ddraw.h"が無い
そこでJune 2006版をインストール(いらないと思ってアンインストールしたのにな...)し,nmakeすると,今度は
とぬかしやがった.堂々巡りな感じ..."atlbase.h"が無い
pow関数の問題は解決したが,次の問題が.VC EEとDirectshow(August 2005)の組み合わせだと,やはり無理な様子.ビルドすると,ctlutil.hの
はうぁ...
っていう記述で,operator=(LONG);
ときたもんだ.こりゃ古いDirectshowでは無理っぽいね.1>C:\Program Files\Microsoft DirectX 9.0 SDK (August 2005)\Samples\C++\DirectShow\BaseClasses\ctlutil.h(278) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
はうぁ...
VCのExpress EditionでDirectShowプログラムをやろうと思ったら,どうもMFC関連のライブラリがいる?(atlbase.hとか)ような感じのエラーがでた.そもそもatlbase.hが必要なのかどうか,MFCなのかよく調べてないのでわからんが,DirectShowが古いのが原因のような気がした.
そこで,新しいDirectShowをいれようと思ってDirectXの最新版をインストールしたが,DirectShowが無い.昔はextrasってのに入っていたけど,それがない.
調べてみると,どうやらPlatform SDKってのに含まれるようになったようだ.おいおい,わかりずらすぎるぞ,Microsoft.
結局ちゃんとしたPlatform SDKを入れる羽目に.んでインストールして,BaseClassesをXP32のRETAILでビルドしようと思ったら・・・
しゃーないから,環境変数にcl.exeまでのパスをいれて再度実行したら,
他の人のページを見ていると,PATHでひっかかったっていう報告ないみたいだから,どうしてこんな羽目になったのかよくわからない.ただし,Platform SDKのバージョンがSP2をいれたので,これが災いしているのかもしれない.
めんどくさいが,なんとか頑張ってビルドしたい.
そこで,新しいDirectShowをいれようと思ってDirectXの最新版をインストールしたが,DirectShowが無い.昔はextrasってのに入っていたけど,それがない.
調べてみると,どうやらPlatform SDKってのに含まれるようになったようだ.おいおい,わかりずらすぎるぞ,Microsoft.
結局ちゃんとしたPlatform SDKを入れる羽目に.んでインストールして,BaseClassesをXP32のRETAILでビルドしようと思ったら・・・
とかぬかしやがった.あほか,こいつは.なんでVCのパスを探さないんだよ,おまえ.「cl.exeが無い」
しゃーないから,環境変数にcl.exeまでのパスをいれて再度実行したら,
だと!あー面度クサ.なんでいちいちパスを設定しないといかんの?VCちゃんといれてるだろ!!「mspdb80.dllが見つからなかったため,このアプリケーションを開始できませんでした.」
他の人のページを見ていると,PATHでひっかかったっていう報告ないみたいだから,どうしてこんな羽目になったのかよくわからない.ただし,Platform SDKのバージョンがSP2をいれたので,これが災いしているのかもしれない.
めんどくさいが,なんとか頑張ってビルドしたい.
WindowsでUSBカメラを操作しようと思ったら,Visual C++ & DirectShowがお勧めだ,というかこれしか知らん.で,そのためにはDirectXのSDKをインストールせんといかん.私がやり始めた頃は9.0bだったが,最近9.0cになり,SDKもアップしている.で,ファイルはMicrosoftから無償提供されている.http://www.microsoft.com/japan/msdn/directx/downloads.asp
ここの,「ソフトウェア開発キット」がDirectX本体,んでDirectShowは「Extras」に含まれている.よって両者をダウンロード.
まず,dxsdk_oct2004.exeを実行すると,展開場所を聞いてくるので,デスクトップに新しいフォルダをつくって,そこを指定しておく.すると展開後に自動でSetupが起動する.そしてdirectXをインストール.ここでは,"F:/"の直下にインストールしている.


また,Visual Studioをインストールしていると,ウィザードもインストールしてくれるので,「Yes」とする.

これでDirectXは完了.再起動を促されるので再起動.
次に,dxsdk_oct2004_extras.exeを実行すると同じように展開場所を聞いてくるので,適当に.んで,できたフォルダの"Extras/DirectShow"以下のフォルダをごっそりDirectXインストールフォルダにコピペする.
さらに,日本語ドキュメントも必要な場合は,"Extras/Documentation/DirectX9/Japanese"の中のファイルを"Microsoft DirectX 9.0 SDK (October 2004)/Documentation/DirectX9"にコピーすればよし.これでDirectShowを利用できる環境となる,はずだ.
ここの,「ソフトウェア開発キット」がDirectX本体,んでDirectShowは「Extras」に含まれている.よって両者をダウンロード.
まず,dxsdk_oct2004.exeを実行すると,展開場所を聞いてくるので,デスクトップに新しいフォルダをつくって,そこを指定しておく.すると展開後に自動でSetupが起動する.そしてdirectXをインストール.ここでは,"F:/"の直下にインストールしている.


また,Visual Studioをインストールしていると,ウィザードもインストールしてくれるので,「Yes」とする.

これでDirectXは完了.再起動を促されるので再起動.
次に,dxsdk_oct2004_extras.exeを実行すると同じように展開場所を聞いてくるので,適当に.んで,できたフォルダの"Extras/DirectShow"以下のフォルダをごっそりDirectXインストールフォルダにコピペする.
さらに,日本語ドキュメントも必要な場合は,"Extras/Documentation/DirectX9/Japanese"の中のファイルを"Microsoft DirectX 9.0 SDK (October 2004)/Documentation/DirectX9"にコピーすればよし.これでDirectShowを利用できる環境となる,はずだ.












