在DirectShow项目中获取未知错误

时间:2012-12-24 10:47:41

标签: visual-studio-2010 visual-c++ directshow

我从链接GMFBridge - Multiple Graphs in DirectShow

下载了直接展示项目

我添加了以下库

  

C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Samples \ multimedia \ directshow \ baseclasses \ Debug \ strmbasd.lib

     

C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Lib \ winmm.lib

     

C:\ ProgramFiles(x86)\ Microsoft Visual Studio 10.0 \ VC \ lib \ comsuppw.lib

当我构建项目时,我收到错误: -

error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(unsigned short const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPBGPAPAUIPin@@@Z)    
error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(unsigned short const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPBGPAPAUIPin@@@Z)    GMFBridge\source.obj    GMFBridge
error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(unsigned short * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPAG@Z)         \GMFBridge\sink.obj GMFBridge
error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(unsigned short * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPAG@Z)         \GMFBridge\source.obj   GMFBridge
error LNK2019: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,unsigned short const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PBG@Z) referenced in function "public: virtual long __stdcall BridgeSink::JoinFilterGraph(struct IFilterGraph *,unsigned short const *)" (?JoinFilterGraph@BridgeSink@@UAGJPAUIFilterGraph@@PBG@Z)    \GMFBridge (1)\GMFBridge\sink.obj   GMFBridge
error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,unsigned short const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PBG@Z)    \GMFBridge\source.obj   GMFBridge
error LNK2019: unresolved external symbol "public: __thiscall CBaseInputPin::CBaseInputPin(char const *,class CBaseFilter *,class CCritSec *,long *,unsigned short const *)" (??0CBaseInputPin@@QAE@PBDPAVCBaseFilter@@PAVCCritSec@@PAJPBG@Z) referenced in function "public: __thiscall BridgeSinkInput::BridgeSinkInput(class BridgeSink *,class BridgeStream *,class CCritSec *,long *,unsigned short const *)" (??0BridgeSinkInput@@QAE@PAVBridgeSink@@PAVBridgeStream@@PAVCCritSec@@PAJPBG@Z)  \GMFBridge\sink.obj GMFBridge
error LNK2001: unresolved external symbol "public: virtual long __stdcall CBasePin::QueryId(unsigned short * *)" (?QueryId@CBasePin@@UAGJPAPAG@Z)   GMFBridge\sink.obj  GMFBridge
error LNK2001: unresolved external symbol "public: virtual long __stdcall CBasePin::QueryId(unsigned short * *)" (?QueryId@CBasePin@@UAGJPAPAG@Z)   )\GMFBridge\source.obj  GMFBridge
error LNK2019: unresolved external symbol "public: __thiscall CBaseOutputPin::CBaseOutputPin(char const *,class CBaseFilter *,class CCritSec *,long *,unsigned short const *)" (??0CBaseOutputPin@@QAE@PBDPAVCBaseFilter@@PAVCCritSec@@PAJPBG@Z) referenced in function "public: __thiscall BridgeSourceOutput::BridgeSourceOutput(class BridgeSource *,class BridgeStream *,class CCritSec *,long*,unsigned short const *)" (??0BridgeSourceOutput@@QAE@PAVBridgeSource@@PAVBridgeStream@@PAVCCritSec@@PAJPBG@Z)   \GMFBridge\source.obj   GMFBridge

2 个答案:

答案 0 :(得分:3)

  1. 项目本身和strmbasd库需要使用相同的项目设置构建才能很好地链接
  2. 来自GDCL网站的档案已经预先建立了二进制文件(GMFBridge.dll)

答案 1 :(得分:1)

谢谢,谢谢,非常感谢罗曼(当然还有March Hare)。如果我被允许,我会投票给你的答案(还没有足够的声誉)。 March Hare常见问题非常有用,特别是问题的第二个答案:

  

你有不同的设置“将wchar_t视为内置类型”   基类和程序