错误为: strmbase.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A) strmbase.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" (<A href="mailto:?g_cTemplates@@3HA">?g_cTemplates@@3HA</A>)
解决方案:
打开XXX_XXCtl.h头文件,在程序开头的这些代码
#if !defined(AFX_OCX_MICPHONECTL_H__3388C6A4_9DE5_4D2F_9021_920EF2BF5CAB__INCLUDED_)
#define AFX_OCX_MICPHONECTL_H__3388C6A4_9DE5_4D2F_9021_920EF2BF5CAB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
的下面加上以下代码即可。
/////////////////////////////////////////////////////////////////////////////
// DllGetClassObject
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();
}
////////////////////////////////////////////////////////////////////////////
本文解决了一个与strmbase.lib相关的链接错误LNK2001,通过在指定的头文件中添加必要的代码,解决了未解析的外部符号问题。该解决方案适用于遇到此类编译错误的开发者。
1415

被折叠的 条评论
为什么被折叠?



