win10系统海康威视SDK二次开发Qt环境配置

本文详细介绍了如何在Qt项目中集成海康SDK,包括下载、库文件与头文件的组织,以及关键函数如登录、预览和抓图的实现。遇到乱码问题时,还特别提到了编码设置。

先下载海康SDK

我下载的win64版本: 海康SDK官网下载
在这里插入图片描述

解压后得到库文件和头文件

在这里插入图片描述
头文件
在这里插入图片描述
库文件
在这里插入图片描述

新建QWidget项目,选择64位的kits工具,在pro目录新建include文件夹和libs文件夹

进入解压好的海康库文件所在目录,将全部文件复制到libs里
进入解压好的海康头文件所在目录,将全部文件复制到include里
在这里插入图片描述

在.pro文件里加入以下代码:

INCLUDEPATH += \
        -L. $$PWD\include

# "-L. $$PWD" 表示pro所在目录
LIBS += \
        -L. $$PWD/libs/HCCore.lib \
        -L. $$PWD/libs/HCNetSDK.lib \
        -L. $$PWD/libs/PlayCtrl.lib \
        -L. $$PWD/libs/HCNetSDKCom\HCAlarm.lib \
        -L. $$PWD/libs/HCNetSDKCom\HCGeneralCfgMgr.lib \
        -L. $$PWD/libs/HCNetSDKCom\HCPreview.lib
遇到乱码问题需要将HCNetSDK.h文件保存为带bom的utf8格式

头文件:

#ifndef WIDGET_H
#define WIDGET_H
#pragma execution_character_set("utf-8")

#include <QWidget>

#include "HCNetSDK.h"

class QLabel;
class Widget : public QWidget
{
   
   
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    long play(HWND hWnd,NET_DVR_PREVIEWINFO struPlayInfo);
    bool initSDK();
    bool uninitSDK();
public slots:
    void OnClickedLogin();
    void OnClickedLogout();
    void OnClickedPreview();
    void OnClickedStopPreview();
    void OnClickedCapture();
private:
    long userID = -1;
    long previewID = -1;
    QLabel* label = nullptr;
};

#endif // WIDGET_H

源文件:

#include "widget.h"
#include <QDebug>
#include <iostream>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <windows.h>
#include <QMessageBox>
#include <QPushButton>
#include <QLabel>
#include <QDateTime>

Widget::Widget(QWidget *parent) :
    QWidget(parent)
{
   
   
    setMinimumSize(800,600);

    label = new QLabel("text");
    auto  LoginButton = new QPushButton("登录",this);
    auto  LogoutButton= new QPushButton("注销",this);
    auto  PreviewButton= new QPushButton("实时画面"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值