【轉】strmbasd.lib(dllentry.obj) : error LNK2001: 無法解析的外部符號"int g_cTemplates"


加入了DirectShow的基類鏈接庫后,如果此時編譯就會出現以下編譯錯誤:

 

strmbasd.lib(wxutil.obj) : error LNK2019: 無法解析的外部符號 __imp__timeGetTime@0

strmbasd.lib(wxutil.obj) : error LNK2019: 無法解析的外部符號 __imp__timeSetEvent@20

 

 

strmbasd.lib(dllentry.obj) : error LNK2001: 無法解析的外部符號 "class CFactoryTemplate *

g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
strmbasd.lib(dllentry.obj) : error LNK2001: 無法解析的外部符號 "int g_cTemplates"

(?g_cTemplates@@3HA)

 

解決的辦法是:

 

1、在附加依賴項中再加入winmm.lib鏈接庫文件,這樣將不會再出現error LNK2019的編譯錯誤。

2、在項目的TestOcxCtrl.h頭文件的后面添加如下的代碼將消除error LNK2001的編譯錯誤:

 

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();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM