Linking...
   Creating library Debug/Hqtlystd.lib and object Debug/Hqtlystd.exp
CFilterTitleOverlay.obj : error LNK2001: unresolved external symbol "public: virtual unsigned long __stdcall CBaseFilter::NonDelegatingRelease(void)" (?NonDelegatingRelease@CBaseFilter@@UAGKXZ)
CFilterTitleOverlay.obj : error LNK2001: unresolved external symbol "public: __thiscall CTransInPlaceFilter::CTransInPlaceFilter(char *,struct IUnknown *,struct _GUID const &,long *,bool)" (??0CTransInPlaceFilter@@QAE@PADPAUIUnknown@@ABU_GUID@@PAJ_N
@Z)
CFilterTitleOverlay.obj : error LNK2001: unresolved external symbol "public: __thiscall CMediaType::CMediaType(class CMediaType const &,long *)" (??0CMediaType@@QAE@ABV0@PAJ@Z)
Debug/Hqtlystd.ax : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.Hqtlystd.ax - 4 error(s), 0 warning(s)开发环境 vc6.0
directory设置
include:
D:\PROGRAM FILES\MICROSOFT DIRECTX SDK (OCTOBER 2006)\INCLUDE
D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE
D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES
D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
D:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
D:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDElib:
D:\PROGRAM FILES\MICROSOFT DIRECTX SDK (OCTOBER 2006)\LIB\X86
D:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
D:\Program Files\Microsoft Visual Studio\VC98\LIB
D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES\XP32_DEBUG
D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\LIB另外在源文件中使用strcpy也会出现以下问题
Compiling...
COverlayController.cpp
E:\练习程序\FilterTitleOverlay\COverlayController.cpp(291) : error C2065: 'strcpy_instead_use_StringCbCopyA_or_StringCchCopyA' : undeclared identifier
Error executing cl.exe.Hqtlystd.ax - 1 error(s), 0 warning(s)

解决方案 »

  1.   

    1.继承类的构造函数未调用基类的CTransInPlaceFilter构造函数,加上就好
    2.一般fiter都是建的win32的dll,添加上对应的头文件就可以
      

  2.   

    CFilterTitleOverlay::CFilterTitleOverlay(TCHAR *tszName, LPUNKNOWN punk, HRESULT *phr) : 
    CTransInPlaceFilter(tszName, punk, CLSID_HQTitleOverlay, phr)
    事实上我调用了!
    而且有相应的头文件了!
      

  3.   

    对,就是他那个例子,不知道问题所在!
    请指点指点!
    有人讲,是因为新的SDK不支持vc6!
      

  4.   

    确认VC6里面library路径添加的directx的路径是否正确,并且这个路径需要添加在vc默认的路径之前。因为在vc默认的路径里面也有directx的库文件。
    比如vc安装目录为C:\Program Files\Microsoft Visual Studio\VC98\,那么C:\Program Files\Microsoft Visual Studio\VC98\Lib里面有STRMBASD.LIB和STRMBASE.LIB文件,导致编译错误。