海康威视二次开发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 个无法解析的外部命令
...全文
2520 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alone姿态 2019-04-19
  • 打赏
  • 举报
回复
能发下你怎么把sdk做成ocx控件的实例吗,大佬
wshcdr 2016-11-23
  • 打赏
  • 举报
回复
不像是海康SDK的问题
oyljerry 2016-06-14
  • 打赏
  • 举报
回复
你这个是CPlayBackApp 这一些类的cpp有没有包含到工程

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧