
No.3ベストアンサー
- 回答日時:
> 別子 'LPDIRECTDRAW7' がシンタックスエラー
単純にIncludeの順番か環境に問題があるかもしれません。
DShow.hの中のヘッダでddraw.hがIncludeされていて、
DirectXSDKが入ってないとか。。。
恐らく、LPDIRECTDRAW7はddraw.hに書かれていると思うので、
DirectXSDKをインストールしてみてはどうでしょうか?
No.5
- 回答日時:
あ、すみません。
#include <DShow.h>でもOKでした。
ところで今入れているDirectXとVisual Studioのバージョンは何ですか?
最新版のDirectXSDKをインストールし直す → PlatformSDKをインストール
が無難な解決策のように思えます。
この回答への補足
DirectXはMicrosoft DirectX SDK (August 2007)
Visual Studio は C++6.0
を使用しています。
少し変えてみたら以下のようなエラーが出てきました。
ouga.obj : error LNK2001: 外部シンボル "_IID_IMediaControl" は未解決です
douga.obj : error LNK2001: 外部シンボル "_CLSID_FilterGraph" は未解決です
douga.obj : error LNK2001: 外部シンボル "_IID_IGraphBuilder" は未解決です
Debug/Douga.exe : fatal error LNK1120: 外部参照 3 が未解決です。
link.exe の実行エラー
ご指摘をお願いします。
何度もすいません。
さらに変更を加えると以下のようなエラーが発生しました。
--------------------構成: Douga - Win32 Debug--------------------
リンク中...
strmiids.lib(strmiids.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください
link.exe の実行エラー
Douga.exe - エラー 1、警告 0
ご指摘をお願いします。
No.2
- 回答日時:
ここにあるpsdk-x86.exeは導入しましたか?
DirectShowはPlatformSDKに2005年より移行されていますので。。
No.1
- 回答日時:
>いろいろ調べてみてもやり方がわかりません。
調べた結果何がわからなかったのでしょうか?
1から10まで教えるのは土台無理ですし、
他人のコードをそのまま使うだけではそれ以上のものを
作ることはできないでしょう。
とはいえ、サンプルをみてコードを読むことは
悪いことではないので、この辺りを『参考』に
してみてください。
http://codezine.jp/a/article/aid/322.aspx
上記のサイトは登録制なのでサンプルを見る場合には
登録してください。(無料です)
この回答への補足
以下に書いたプログラムを載せますので(長いですが・・・)、もしよければご指摘願います。
・FilterGraph.cpp
#include <Windows.h>
#include <String.h>
#include <DShow.h>
#include <conio.h>
#include <stdio.h>
IGraphBuilder * pigb = NULL;
IMediaControl * pimc = NULL;
void main ()
{OPENFILENAME fname;
static char fn [256] ;
memset ( &fname, 0, sizeof (OPENFILENAME) );
fname.lStructSize= sizeof (OPENFILENAME) ;
fname.lpstrFile= fn;
fname.nMaxFile= sizeof (fn);
fname.Flags= OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if( !GetOpenFileName ( &fname ) )return;
WCHAR filename [ MAX_PATH ] ;
HRESULT hr;
CoInitialize (NULL) ;
MultiByteToWideChar ( CP_ACP, 0, fn, -1, filename, MAX_PATH );
hr = CoCreateInstance ( CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void**) &pigb );
if(SUCCEEDED (hr) )
{
pigb -> QueryInterface (IID_IMediaControl,(void**) &pimc );
hr = pigb -> RenderFile( filename , NULL );
if( SUCCEEDED(hr) )
{
pimc -> Run ();
printf("再生中です。再生終了後どれかキーを押してください") ;getch ();
}
}
if( pigb )
pigb -> Release () ;
if( pimc )
pimc -> Release () ;
CoUninitialize ();
return;
}
これを実行すると、以下のようなエラーが出ました。
\program files\microsoft platform sdk\include\strmif.h(30727) : error C2061: 構文エラー : 識別子 'LPDIRECTDRAW7' がシンタックスエラーを起こしました。
c:\program files\microsoft platform sdk\include\strmif.h(30740) : error C2061: 構文エラー : 識別子 'LPDIRECTDRAW7' がシンタックスエラーを起こしました。
cl.exe の実行エラー
Douga.exe - エラー 29、警告 0
ここには一部しか載せていません。
補足にも書きましたが、よければご指摘お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exeファイルのアンインストール...
-
VBAでArrayListを使う為の「msc...
-
windows2000 フックについて
-
Designer.vbは直接コードをいじ...
-
vbaでPDFファイルが印刷されない
-
ManagementClassが見つからない。
-
vba 時間の引き算 例えば 15:00...
-
2回以上PDFをコピーや印刷がで...
-
SOAP通信。恥を忍んで質問させ...
-
Windows10のVBAでDirectX 8が使...
-
vbaにてseleniumを使用したedge...
-
URLを指定して直接印刷って出来...
-
byte型をstring型として扱うには
-
VBAで印刷スプール終了の判定を...
-
A4の2枚をA3の1枚にする編集方法?
-
Visual Studio 「AnyCpu」について
-
C#VB、exeに埋め込んだexeの実行
-
印刷ダイアログを表示させない方法
-
ACCESS VBAで別のACCESS(mdb)を...
-
ACCESSで設定した帳票の用紙サ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
[VB.net] ExcelへのQRコード出...
-
VB6(SP5)+OO4OでCreateObjectが...
-
VB.NETでSPREADの設定方法
-
VB6で作成したアプリを配布する...
-
う~ん…。
-
Product Codeの変更法は?
-
ビルドした.exeファイルは.NE...
-
発行元:不明???
-
次のクラスは登録されていませ...
-
VB6のアプリケーションの配布
-
Excelがインストールされてない...
-
VB.NET で作られたソフト...
-
VB.NET(2017)で インストーラを...
-
VB6.0で作成したexeファイルが...
-
Flash Builder 4.7 デザインモード
-
visual studio 2015 のインスト...
-
JWCADwでRubyは必要...
-
.NETの標準ライブラリでExcelフ...
-
VB4.0にて作成したソフトの配布
おすすめ情報