错误为: strmbase.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" () strmbase.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" () 原因好像出在标准C上,与用户代码无关。 ----------------------------解决方案-------------------------------------- 加入下面加上以下代码,重新编译即可.
/// //
// DllGetClassObject
extern "C"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
![ExpandedBlockStart.gif](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
/// //
// DllCanUnloadNow
extern "C"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
STDAPI DllCanUnloadNow(
void)
![ExpandedBlockStart.gif](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
/// /