環境はWindows VISTA(32bit)
Windows SDK v6.1 ,DirectX SDK (March 2008),Visual Studio 2008
「Windows SDKとDirectX SDKのアップデート(2008/07/12」というページを参考に設定を行い(どこか設定を間違っている可能性はあります)、
MSのヘルプページから、「すべての既定のライブラリの無視」、「バッファセキュリティチェック無効」をし、
http://www.geekpage.jp/programming/directshow/samplegrabber.php
↑こちらのページのサンプルコードをそのままコピペして動かそうとしています。
すると以下のようなエラーが出てしまいます。
error LNK2001: 外部シンボル "__imp__CreateFileA@28" は未解決です。
error LNK2001: 外部シンボル "__imp__CoCreateInstance@20" は未解決です。
……
fatal error LNK1120: 外部参照 11 が未解決です。
おそらくリンカの設定をどこかで間違えているのだと思いますが、自分にはよくわかりません。すみませんが、よろしくお願いします。
WindowsSDKのライブラリパスが間違っているか、プロジェクトの設定がWindows用にあってないものと思います。
・ツール→オプションダイアログ内のプロジェクトおよびソリューションにVC++ディレクトリ、という設定項目があります。ここのインクルードファイルとライブラリファイルの内容に、WindowsSDK、DirectXSDKのそれぞれのincとlibへのパスが入っているかどうか確認します。なければ追加をしてください。
・ビルドプロジェクトのリンクファイル設定を確認します。プロジェクトのプロパティ→構成プロパティ→リンカ→入力→追加の依存ファイル、の箇所に使用するライブラリファイルを記入します。この例ではコマンドプロンプト用のプログラムですけど、Windowsの機能を使用する場合、
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
の指定を入力しておくと、必要なWindowsAPIをリンクできるかと思います。
・プロジェクトの文字セットがあっていない事も考えられます。プロジェクトのプロパティ→構成プロパティ→全般→文字セットの項目があります。これが「マルチバイト文字セットを使用する」となっている場合は「Unicode文字セットを使用する」に変更してビルドしてみてください。