海康威视二次开发ocx遇到的困惑
猫少年 2016-06-14 03:31:20 之前成功将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 个无法解析的外部命令