日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

win10系统Qt配置海康HCSadpSDK局域网设备搜索

發布時間:2023/12/10 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10系统Qt配置海康HCSadpSDK局域网设备搜索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Qt項目文件.pro所在的目錄,新建一個libs文件夾和include文件夾,將Sadp.lib復制到libs目錄里,將Sadp.h文件復制到include目錄里

在.pro文件里添加以下命令

INCLUDEPATH += \-L. $$PWD\include LIBS += \-L. $$PWD/libs/Sadp.lib

將下圖的dll和sys文件復制到項目生產的exe文件所在目錄:

libeay32.dll就是個大坑,它與海康SDK犯沖突,導致海康SDK無法正確獲取NVR等設備的信息,這個不要復制過去

簡單測試代碼:在合適的位置調用findDevice(),更多功能看海康文檔

#include "Sadp.h" //設備信息回調函數 void __stdcall SadpDataCallBack_V40(const SADP_DEVICE_INFO_V40 *lpDeviceInfoV40, void* pUserData) {qDebug()<< " IP " << lpDeviceInfoV40->struSadpDeviceInfo.szIPv4Address; //設備ipqDebug()<<" Mac "<< lpDeviceInfoV40->struSadpDeviceInfo.szMAC; //設備Mac地址qDebug()<<" SerialNO "<< lpDeviceInfoV40->struSadpDeviceInfo.szSerialNO; //設備序列號qDebug()<<" Result "<< lpDeviceInfoV40->struSadpDeviceInfo.iResult; //消息類型: 1.設備上線, 2.設備更新, 3.設備下線qDebug()<<"\r\n----------------------------------------\r\n";}void HKworks::findDevice()//自己封裝的類 {//開啟sadp日志 3(打印所以日志) "C:\\SadpLog\\"(日志目錄) false(保留所有日志文件)SADP_SetLogToFile(3, "C:\\SadpLog\\", false); //開啟sadp服務int iRet = SADP_Start_V40(SadpDataCallBack_V40);if (iRet == 0){//開啟失敗,獲取錯誤碼int iError = SADP_GetLastError();qDebug()<<"SADP_Start_V40 Failed! Err "<<iError;}SADP_SetAutoRequestInterval(10);}

將Sadp.h保存為utf8-bom格式,找到以下代碼

#if defined _WIN32 || defined _WIN64 #define CSADP_API extern "C"__declspec(dllimport) #elif defined __linux__ || defined __APPLE__ #define CSADP_API extern "C" #endif

修改#define CSADP_API extern “C”__declspec(dllimport)為(在C"后面加了一個空格)

#define CSADP_API extern "C" __declspec(dllimport)

海康HCNetSDK和Sadp有重復定義的內容,編譯器4005警告,在頭文件里所有#include 的上邊加以下命令

#ifdef _MSC_VER #pragma warning (push) #pragma warning (disable : 4005) #include "HCNetSDK.h" #include "Sadp.h" #pragma warning (pop) #pragma warning (default : 4005) #endif

總結

以上是生活随笔為你收集整理的win10系统Qt配置海康HCSadpSDK局域网设备搜索的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。