Visual Studio 2005 做DirectShow DMO的问题,附代码
YHW 2005-11-05 03:30:22 我学着做个DMO,建了个dll的atl工程,然后添加了个atl simple Object,vs2005生成一堆代码,然后我改继承自 IMediaObjectImpl<CDMObject,1,1>
然后把必须实现的函数都申明出来,所有实现都用return 0;代替,然后编译,如下:
试了很多次都这样,哪位大王能帮忙看看?
------ Build started: Project: myDMO, Configuration: Debug Win32 ------
Linking...
Creating library Debug\myDMO.lib and object Debug\myDMO.exp
Microsoft (R) 32b/64b MIDL Compiler Version 6.00.0366
Copyright (c) Microsoft Corporation 1991-2002. All rights reserved.
Processing .\_myDMO.idl
_myDMO.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\prsht.idl
prsht.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\wtypes.idl
wtypes.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h
basetsd.h
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\guiddef.h
guiddef.h
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\mshtml.idl
mshtml.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\ocidl.idl
ocidl.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\oleidl.idl
oleidl.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\objidl.idl
objidl.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\unknwn.idl
unknwn.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\oaidl.idl
oaidl.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\servprov.idl
servprov.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\urlmon.idl
urlmon.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\msxml.idl
msxml.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\dimm.idl
dimm.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\mshtmhst.idl
mshtmhst.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\docobj.idl
docobj.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\exdisp.idl
exdisp.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\objsafe.idl
objsafe.idl
Processing d:\microsoft platform sdk\include\mediaobj.idl
mediaobj.idl
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\oaidl.acf
oaidl.acf
Processing D:\Microsoft Visual Studio 8\VC\PlatformSDK\include\ocidl.acf
ocidl.acf
DMObject.obj : error LNK2019: unresolved external symbol _MoFreeMediaType@4 referenced in function "protected: virtual __thiscall IMediaObjectImpl<class CDMObject,1,1>::~IMediaObjectImpl<class CDMObject,1,1>(void)" (??1?$IMediaObjectImpl@VCDMObject@@$00$00@@MAE@XZ)
DMObject.obj : error LNK2019: unresolved external symbol _MoCopyMediaType@8 referenced in function "protected: virtual long __stdcall IMediaObjectImpl<class CDMObject,1,1>::GetInputCurrentType(unsigned long,struct _DMOMediaType *)" (?GetInputCurrentType@?$IMediaObjectImpl@VCDMObject@@$00$00@@MAGJKPAU_DMOMediaType@@@Z)
Debug\myDMO.dll : fatal error LNK1120: 2 unresolved externals
Build log was saved at "file://c:\Documents and Settings\Administrator\Desktop\DMO_Test\myDMO\Debug\BuildLog.htm"
myDMO - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
代码在
http://www.989888.com/download.php?id=2044