基于Qt的海康威视SDK二次开发-摄像头预览-mingw编译

海康威视摄像头SDK,在海康威视的官网下载,地址:
http://www.hikvision.com/cn/download_61.html

本文讲的是用window10 + qt 5.12 + mingw 编译 ,非msvc 或者mfc visual studio 版本。

1. 导入SDK连接到Qt项目中,也就是导入dll动态链和.lib库。

把程序所需要的.dll文件和相应的库文件都拷贝到程序目录下
注意:一个.dll文件所对应的库文件,应该名字是相同的,有的.dll文件是存在依赖关系 的,必须同时存在才能使用。

2.  在Qt的项目文件中,导入库文件,如:

LIBS += -L$$PWD/libs/ -lHCCore -lHCNetSDK -lPlayCtrl

LIBS += -L$$PWD/libs/HCNetSDKCom -lHCAlarm -lHCGeneralCfgMgr -lHCPreview

3.  将对应的.dll 文件拷贝到可执行文件的目录下,也就是和.exe 同一个目录,我demo里就是debug中。

所需的文件:
请将设备网络SDK开发包【库文件】里的HCNetSDK.dll、HCCore.dll、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、HCNetSDKCom文件夹等文件均拷贝到bin文件夹下。

4. 然后就可以在程序中 使用SDK的函数了。

配套例子demo:https://download.csdn.net/download/p942005405/12415676

说明:demo是拿来主义,参考了参考链接的两个例子。主要修改了debug的dll才可以正常运行

5.  demo 使用说明:直接编译,并将build/debug文件夹中的dll文件拷贝到你自己的build/debug中

注意 如果要连接你的海康摄像机,请将程序中ip 账号密码等改成你自己的信息。

知识拓展:

链接库可分为ib和dll,这两个都是库,这里说一下二者的区别,当Windows下一个工程编译成库时,可以有两种方式,第一种是静态库,第二种是动态库,静态库在编译时读取,动态库在运行时读取,生成静态库时只有lib文件,里边存放的就是函数的实现,生成动态库时,lib和dll文件都有,其中lib中没有函数的实现代码,只存放了该实现代码位于哪个dll中,dll中存放函数的实现代码;我们在调用静态库时,代码在链接阶段,将去对应lib中寻找实现代码,并进行链接,结束后,lib就没用了;而调用动态库时,代码在链接阶段也会去lib中寻找,不同的是,它只会留下标记,标识去哪里找运行代码,而不实际将dll中的实现链接进程序里,因此程序运行时不需要lib,但是必须有dll。

参考链接:

基于Qt的海康威视网络摄像头SDK的二次开发(一)

基于Qt的海康威视SDK二次开发-摄像头登陆、预览和抓图

你可能感兴趣的:(系统配置)