用directshow播放avi文件的入门程序出错了,跪求解决方法

i_noname 2005-03-22 08:48:35
一个WIN32 CONSOLE程序。

#include "stdafx.h"
#include <dshow.h>

int main()
{
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaEvent *pEvent;

CoInitialize(NULL);

CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);

pGraph->RenderFile(L"test.avi", NULL);

pMediaControl->Run();

long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);

pEvent->Release();
pMediaControl->Release();
pGraph->Release();

CoUninitialize();
return 0;
}
编译时出错:
ompiling...
test1.cpp
f:\microsoft visual studio\vc98\include\mmsystem.h(113) : error C2146: syntax error : missing ';' before identifier 'MMVERSION'
f:\microsoft visual studio\vc98\include\mmsystem.h(113) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

test1.exe - 2 error(s), 0 warning(s)

include和lib目录都已加上DX SDK的目录。
我用的是dxsdk_sum2004和vc6
...全文
164 点赞 收藏 9
写回复
9 条回复
极深研几 2005年04月06日
你检查一下MMVERSION宏是在哪里定义的,可能是在别的头文件中,而你没有包含它,或者你的mmsystem.h要求一些别的预定义
回复 点赞
httpaspjspphp 2005年04月04日
男儿膝下有黄金
只跪天地合娘亲
回复 点赞
13seele 2005年04月04日
f:\microsoft visual studio\vc98\include\mmsystem.h(113) : error C2146: syntax error : missing ';' before identifier 'MMVERSION'

通过这就可以知道是include路径不对。
回复 点赞
xiangding 2005年04月01日
你需要编译BaseClasses里面的项目文件,生成dubug目录,并有.lib文件
回复 点赞
yyhzpk 2005年03月26日
WIN32 CONSOLE
在工程设置里面把一些预编译宏定义可能是
windows改为console,再试一下
回复 点赞
babu1234 2005年03月25日
奇怪了,我试了一下可以编译通过啊
回复 点赞
aoosang 2005年03月23日
http://vckbase.com/document/viewdoc/?id=1238


上面是我写的一篇文档,你看看如何配置环境,有图片
回复 点赞
i_noname 2005年03月23日
include: F:\Microsoft DirectX 9.0 SDK\Include
Lib:F:\Microsoft DirectX 9.0 SDK\Lib
都已经加上了啊
回复 点赞
日总是我哥 2005年03月22日
估计还是环境配置的问题。
回复 点赞
发动态
发帖子
多媒体/流媒体开发
创建于2007-08-27

2054

社区成员

2.0w+

社区内容

专题开发/技术/项目 多媒体/流媒体开发
社区公告
暂无公告