strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号"int g_cTemplates"

Posted nightnine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号"int g_cTemplates"相关的知识,希望对你有一定的参考价值。

加入了DirectShow的基类链接库后,如果此时编译就会出现以下编译错误:

 

strmbasd.lib(wxutil.obj) : error LNK2019: 无法解析的外部符号 [email protected]

strmbasd.lib(wxutil.obj) : error LNK2019: 无法解析的外部符号 [email protected]

 

 

strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号 "class CFactoryTemplate *

g_Templates" ([email protected]@[email protected]@A)
strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号 "int g_cTemplates"

([email protected]@3HA)

 

解决的办法是:

 

1、在附加依赖项中再加入winmm.lib链接库文件,这样将不会再出现error LNK2019的编译错误。

2、在项目的TestOcxCtrl.h头文件的后面添加如下的代码将消除error LNK2001的编译错误:

 

extern "C"
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
}
/////////////////////////////////////////////////////////////////////////////
// DllCanUnloadNow
extern "C"
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
}















以上是关于strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号"int g_cTemplates"的主要内容,如果未能解决你的问题,请参考以下文章

error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)(转)