扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:阳光 来源:CSDN 2008年3月23日
关键字: C C++ DirectShow LINK Linux
错误为: 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>)
原因好像出在标准C上,与用户代码无关。
----------------------------解决方案--------------------------------------
打开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();
}
////////////////////////////////////////////////////////////////////////////
重新编译即可!
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者