之前成功將MFC分功能DEMO事例中的事實預覽做成ocx控制元件,是嘗試匯入SDK做的。沒有問題,但是做回放下載遇到一些問題。
做控制元件的步驟是 匯入頭檔案,匯入庫檔案,添加附加依賴項GdiPlus.lib,HCCore.lib,HCNetSDK.lib,PlayCtrl.lib。做好圖形界面,每個控制元件的ID都是和MFC參考程式一樣的,方便代碼移植。
昨天問老師,老師說是鏈接錯誤,是因為只用了lib檔案,沒有用到dll.于是找了一下庫檔案發現在HCNetSDKCom檔案中有個HCPlayBack.dll檔案,于是想附加依賴項,也不行。將此dll檔案復制到Debug中也沒有辦法。
所以想請大神們指條路。
1>PlayBack.obj : error LNK2019: 無法決議的外部符號 "public: __thiscall CPlayBackApp::CPlayBackApp(void)" (??0CPlayBackApp@@QAE@XZ),該符號在函式 "void __cdecl `dynamic initializer for 'theApp''(void)" (??__EtheApp@@YAXXZ) 中被參考
1>PlayRemoteFile.obj : error LNK2001: 無法決議的外部符號 "protected: void __thiscall PlayRemoteFile::OnButtonLockUnlock(void)" (?OnButtonLockUnlock@PlayRemoteFile@@IAEXXZ)
1>PlayRemoteFile.obj : error LNK2001: 無法決議的外部符號 "class std::vector<struct NET_DVR_FINDDATA_V30,class std::allocator<struct NET_DVR_FINDDATA_V30> > g_vecFileInfo" (?g_vecFileInfo@@3V?$vector@UNET_DVR_FINDDATA_V30@@V?$allocator@UNET_DVR_FINDDATA_V30@@@std@@@std@@A)
1>PlayRemoteFile.obj : error LNK2001: 無法決議的外部符號 "struct STRU_DEVICE_INFO * g_struDevInfo" (?g_struDevInfo@@3PAUSTRU_DEVICE_INFO@@A)
1>PlayRemoteFile.obj : error LNK2001: 無法決議的外部符號 "int g_iCurDevIndex" (?g_iCurDevIndex@@3HA)
1>PlayRemoteFile.obj : error LNK2001: 無法決議的外部符號 "class PlayBackDlg * g_pMainDlg" (?g_pMainDlg@@3PAVPlayBackDlg@@A)
1>PlayTimeFile.obj : error LNK2001: 無法決議的外部符號 "class PlayBackDlg * g_pMainDlg" (?g_pMainDlg@@3PAVPlayBackDlg@@A)
1>D:\C++\PlayBack\Debug\PlayBack.ocx : fatal error LNK1120: 6 個無法決議的外部命令
uj5u.com熱心網友回復:
你這個是CPlayBackApp 這一些類的cpp有沒有包含到工程uj5u.com熱心網友回復:
不像是海康SDK的問題uj5u.com熱心網友回復:
能發下你怎么把sdk做成ocx控制元件的實體嗎,大佬轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/50099.html
