MSVC 2008 - eiichiromomma/CVMLAB GitHub Wiki
(MSVC) Visual C++ 2008 EE
Visual C++ 2008 Express Editionについて
Visual Studio 2008 Express Editions からWebインストール。DVDイメージを拾ってきても良い。
特に躓く所もなし。
今回からPlatformSDKの一部がBin, Include, Libのみインストールされるようになった。 基本的に.Net関係はWindowsSDKも不要らしく、2005では小細工をしなければ作れなかったフォームアプリも初めから作れる状態になっている。
DirectShowやddrawもヘッダとライブラリが含まれているが、微妙に内容が変わったらしい。 どのみちサンプルソースが無いのでWindowsSDKはあった方が良いと思われる。
プロジェクトのプロパティの[リンカ]-[マニフェストファイル]-[追加のマニフェスト依存関係]に以下の内容を追加する。
type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'
バージョン等はdllの置いてある
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375
のようなフォルダ名に対応している。
#include <windows.h>
に置き換えるだけで良い。 (変更は自己責任で)
cvcamを使わない普通のソリューションはafxres.hのエラーだけで問題無くビルドできる。
注意:一応DirectShowデバイスでの動作は確認したが、ライブラリのソースに手を入れる事になるので、変更は自己責任で行なって下さい。特にcvstreams.hはcv.libのソースなので問題が出るかも?
#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif
で宣言
//#include "afxres.h"
#include <windows.h>
ヘッダ周り
//#include <streams.h>
#include <mediaobj.h>
#include <DShow.h>
#include <dmort.h>
//#include "afxres.h"
DeleteMediaType(pmt);
を
MoDeleteMediaType((DMO_MEDIA_TYPE*)pmt);
に置き換え。
ASSERT
を _ASSERT に置き換え。
#include <DShow.h>
//#include <streams.h>
//#include <streams.h> /* !!! IF YOU'VE GOT AN ERROR HERE, PLEASE READ BELOW !!! */
#include <mediaobj.h>
#include <DShow.h>
#include <dmort.h>
プロジェクトでの追加の依存ファイル
STRMBASe.LIB
を
msdmo.lib strmiids.lib
に置き換え。