在activex控件工程中使用directshow,編譯時(shí)link錯(cuò)誤的解決方法
轉(zhuǎn)載自:http://www.wangchao.net.cn/bbsdetail_839548.html
錯(cuò)誤為:
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" (g_cTemplates@@3HA"g_cTemplates@@3HA)
原因好像出在標(biāo)準(zhǔn)C上,與用戶代碼無(wú)關(guān)。
----------------------------解決方案--------------------------------------
加入下面加上以下代碼,重新編譯即可.
/////////////////////////////////////////////////////////////////////////////
// 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();
}
////////////////////////////////////////////////////////////////////////////
錯(cuò)誤為:
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" (g_cTemplates@@3HA"g_cTemplates@@3HA)
原因好像出在標(biāo)準(zhǔn)C上,與用戶代碼無(wú)關(guān)。
----------------------------解決方案--------------------------------------
加入下面加上以下代碼,重新編譯即可.

















posted on 2012-08-17 17:01 楊粼波 閱讀(625) 評(píng)論(0) 編輯 收藏 引用 所屬分類: C++ 、Windows