基于Qt对海康摄像头二次开发环境配置问题记录

项目的需要对海康摄像头的视频数据进行二次开发,其实开始觉得应该很快就可以就能把视频实时显示出来。没想到qt上配置了N久都没搞好,这里做个记录下过程。

平台:win10 64   Qt4+QtCreator

第一步首先去官网下载SDK包

http://www.hikvision.com/cn/download_61.html

要是你是windows强烈建议选择win32,为什么?下面讲! 然后解压出来有以下的目录,我这个SDK是2018-03-05 做二次开发的时候最好检查下第三方库版本问题。

基于Qt对海康摄像头二次开发环境配置问题记录_第1张图片

开发文档都比较好,因为是国内的,所有好简单! 进行开发前你试试他们的Demo实例,结果你会发现不行,你在留一下根目录的 HCNetSDKCom文件夹必须加载到工程.txt 其实就是将库文件的除了那个.exe其他都copy到生成程序的目录中。那些文件是静态库.lib和动态.dll.

其中会出现能登陆,但是就是不能打开视频显示错误号码,eg 64 105之类吧。。。。其实就是有些依赖的动态库没加到.exe里面!

然后有了这个认识我们去开发!

第二步 QtCreator新建工程

这个随便建个就可以了,然后添加

打开工程文件.pro ,在里面加入库的路径,(不建议右击添加库,这个自动生成的需要你了解更多库运作才能更好的自动添加)

直接这样输入:

LIBS    +="C:/Users/hovolt3/Desktop/SeaProject_win/Video_Demo/text3/test2/HCCore.lib"
LIBS    +="C:/Users/hovolt3/Desktop/SeaProject_win/Video_Demo/text3/test2/HCNetSDK.lib"
LIBS    +="C:/Users/hovolt3/Desktop/SeaProject_win/Video_Demo/text3/test2/HCAlarm.lib"
LIBS    +="C:/Users/hovolt3/Desktop/SeaProject_win/Video_Demo/text3/test2/HCGeneralCfgMgr.lib"
LIBS    +="C:/Users/hovolt3/Desktop/SeaProject_win/Video_Demo/text3/test2/HCPreview.lib"
LIBS    +="C:/Users/hovolt3/Desktop/SeaProject_win/Video_Demo/text3/test2/PlayCtrl.lib"

这样也比较好理解,LIBS +="库路径"

注意就是不是window路径那个"\"而是"/"。这个路径别错了哦,如果路径错或者是没有找到那个文件会显示如下错误:

基于Qt对海康摄像头二次开发环境配置问题记录_第2张图片

上面这几个库.lib基本在实时显示够用了。好了上面是主要路径是没找到那个库,这步显示的错误!

以下错误又是缺少某些库。

基于Qt对海康摄像头二次开发环境配置问题记录_第3张图片

错误是没有定义那些函数,若果你只是有他们的.h文件也就是声明,那就会出现这个没定义情况或者那个函数里面调用其他函数,那个函数没有定义,其中没定义是在.cpp和库中都没找到那个函数的定义。这时就会出现这个错误。

然后在把解压出来的SDK里面的头文件下的HCNetSDK.h 放在你工程文件那个文件夹上,在添加到开发环境上,里面声明了好多函数、类等,哪里用到就include可以了。

#include "HCNetSDK.h"

由于摄像头SDK是对系统底层的库所有它需要调用系统API,那么你是windows就这样

#include 
这样就可以了,环境配置。然后你看它的手册怎么去调用顺序之类!

其中还有一个最要命的情况,什么错误信息都没有就是这个:

C:\Users\hovolt3\Desktop\SeaProject_win\Video_Demo\text3\test2-build-desktop\debug\test2.exe 启动中...

C:\Users\hovolt3\Desktop\SeaProject_win\Video_Demo\text3\test2-build-desktop\debug\test2.exe 退出, 代码: -1073741515 

这一般都是程序没new出对象内存就使用或者指针出现错误才会有??现在还没编程怎么回事?其实我一开始也没这种情况后来那些库不断copy,别人例子和自己下载的SDK库不断尝试,是不是那个库没用上问题在琢磨。无端端怎么会出现。后来睡觉时想了想会不会是那些库混用了,第二天看看别人例子的.lib是32位SDK拿出来和我自己的SDK 是64位!妈的fk。。。。终于出来了!!!最后统一32位的库。就好了。


基于Qt对海康摄像头二次开发环境配置问题记录_第4张图片

这次让我很好的理解添加第三方库要注意的问题。

你可能感兴趣的:(基于Qt对海康摄像头二次开发环境配置问题记录)