有人在开发directshow 的时候遇到dmoimpl.h的问题么?求救

nosilence_2007 2007-12-21 10:46:17
开始错误:和下面的一样
include\dmoimpl.h(622) : error C2065: “dw”: 未声明的标识符

d:\DXSDK\include\dmoimpl.h(588): 编译类模板成员函数“HRESULT IMediaObjectImpl <_DERIVED_,NUMBEROFINPUTS,NUMBEROFOUTPUTS> ::ProcessOutput(DWORD,DWORD,DMO_OUTPUT_DATA_BUFFER *,DWORD *)”时

with

[

_DERIVED_=CSample,

NUMBEROFINPUTS=1,

NUMBEROFOUTPUTS=2

]

d:\dxsdk\samples\c++\directshow\dmo\dmosample\Sample.h(21): 参见对正在编译的类模板实例化“IMediaObjectImpl <_DERIVED_,NUMBEROFINPUTS,NUMBEROFOUTPUTS> ”的引用

with

[

_DERIVED_=CSample,

NUMBEROFINPUTS=1,

NUMBEROFOUTPUTS=2

]

d:\DXSDK\include\dmoimpl.h(623) : error C2228: “.dwStatus”的左边必须有类/结构/联合

d:\DXSDK\include\dmoimpl.h(624) : error C2228: “.fIncomplete”的左边必须有类/结构/联合

d:\DXSDK\include\dmoimpl.h(626) : error C2228: “.fIncomplete”的左边必须有类/结构/联合

state.cpp

StdAfx.cpp

util.cpp

正在生成代码…

生成日志保存在“file://d:\DXSDK\Samples\C++\DirectShow\DMO\DMOSample\Debug_Unicode\BuildLog.htm”

dmosample - 8 个错误,个警告

========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过==========

按照网上的修改 增加了 DWORD_PTR dw;

但是之后又出现了错误:

C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\dmoimpl.h(152) : error C2385: ambiguous access of 'Lock'
could be the 'Lock' in base 'IMediaObject'
or could be the 'Lock' in base 'ATL::CComObjectRootEx <ATL::CComMultiThreadModel> '
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\dmoimpl.h(150) : while compiling class template member function 'IMediaObjectImpl <_DERIVED_,NUMBEROFINPUTS,NUMBEROFOUTPUTS> ::LockIt::LockIt(_DERIVED_ *)'
with
[
_DERIVED_=CMpeg4EncoderDMO,
NUMBEROFINPUTS=1,
NUMBEROFOUTPUTS=1
]
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\dmoimpl.h(227) : see reference to class template instantiation 'IMediaObjectImpl <_DERIVED_,NUMBEROFINPUTS,NUMBEROFOUTPUTS> ::LockIt' being compiled
with
[
_DERIVED_=CMpeg4EncoderDMO,
NUMBEROFINPUTS=1,
NUMBEROFOUTPUTS=1
]
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\dmoimpl.h(226) : while compiling class template member function 'HRESULT IMediaObjectImpl <_DERIVED_,NUMBEROFINPUTS,NUMBEROFOUTPUTS> ::GetStreamCount(unsigned long *,unsigned long *)'
with
[
_DERIVED_=CMpeg4EncoderDMO,
NUMBEROFINPUTS=1,
NUMBEROFOUTPUTS=1
]
e:\mpeg4dmo\mpeg4_dmo\mpeg4_dmo\encoderDMO.h(27) : see reference to class template instantiation 'IMediaObjectImpl <_DERIVED_,NUMBEROFINPUTS,NUMBEROFOUTPUTS> ' being compiled
with
[
_DERIVED_=CMpeg4EncoderDMO,
NUMBEROFINPUTS=1,
NUMBEROFOUTPUTS=1
]
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\dmoimpl.h(152) : error C2660: 'IMediaObject::Lock' : function does not take 0 arguments
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\dmoimpl.h(152) : error C3861: 'Lock': identifier not found


感觉非常奇怪 不知道如何改才好呢
谢谢
...全文
40 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧