描述:
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)
我在程序里面和COM里面使用一直没碰到这个问题,同样的代码只要在ocx里面使用就出现这个问题
请各位帮忙解答一下。
解决方案1:
在XXXCtrl.h文件头加入以下声明即可:
extern "C"
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
}
/////////////////////////////////////////////////////////////////////////////
// DllCanUnloadNow
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
}
在project-》link里面没有加入strmbasd.lib库?
解决方案3:g_cTemplates、g_Templates在哪里定义的
您可能想查找下面的文章:
- 关于directshow和directmusic部分问题
- 关于使用directshow中的playcap例子改写成ocx中出现的问题
- 用Directshow如何得到视频文件如avi、asf中视频的宽和高?
- 请教用过DIRECTSHOW的各位!急!
- 急。。。。。。。。。。。通过directshow开发多媒体播放器中,如何实现后退功能,以及退回一帧图片功能
- directshow的显示问题
- DirectX里怎么没有DirectShow
- 关于音轨和声道的问题DirectShow?
- directShow编译的问题,小弟在编译一个例子,通不过!请大家帮忙
- 在directshow中如何做一个可以提供一个有序流的renderfitler,一有新数据来就让外面取走