解决未解析的外部符号CSourceSeeking :: CSourceSeeking(...)尽管链接到正确的库

时间:2012-11-24 16:45:35

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

这是错误:

  

错误2错误LNK2019:未解析的外部符号“protected:   __thiscall CSourceSeeking :: CSourceSeeking(char const *,struct IUnknown *,long *,class CCritSec *)“(??   0CSourceSeeking @@ IAE @ PBDPAUIUnknown @@ PAJPAVCCritSec @@@ Z)在   功能“public:__ thiscall CPushPin :: CPushPin(long *,class   CSource *)“   (?? 0CPushPin @@ QAE @ PAJPAVCSource @@@ Z)C:\ Users \ x \ Desktop \ PushSource \ PushFilter.obj> PushSource

以下是我的文章:

  

gdiplus.lib strmbasd.lib msvcrtd.lib winmm.lib odbc32.lib odbccp32.lib

CSourceSeeking是什么库?

3 个答案:

答案 0 :(得分:2)

You have to create Strmbase.lib/Strmbased.lib yourself, apparently.确保它是为您的目标构建的(即如果您的程序是32位,请确保它构建为32位库; 64位相同)。

答案 1 :(得分:1)

在MSDN上的大多数C / C ++ API参考页面的底部,您会找到一个参考部分,告诉您要包​​含哪些标题以及要链接的库。

相应地,在CSourceSeeking reference page References 部分,你会找到答案:

Strmbase.lib (retail builds)
Strmbasd.lib (debug builds)

修改

有关如何自行构建Strmbase.lib / Strmbased.lib的说明,请参阅@Cornstalk's answer。在构建Strmbase.lib / Strmbased.lib时,请确保库构建设置与程序的构建设置相匹配:32/64位,UNICODE / ANSI等。使用不同的设置一个或另一个会导致错误。

答案 2 :(得分:0)

CSourceSeeking class是Strmbase.lib库(或调试版本的Strmbasd.lib)的一部分。通常,MSDN在"要求"下提供头文件和库(c)要求。相应文档页面的一部分。