VS2022下載+海康SDK環境配置實現實時預覽

一.VS2022下載

去官網下載就可以了:https://visualstudio.microsoft.com/zh-hans/vs/

下載Community版本是免費的。

(2)下載后得安裝包VisualStudioSetup.exe

打開:點擊繼續

等待下載完成,出現如下界面,這里是選擇安裝包和安裝地址,

選這三個就可以了,其他包需要的時候可以在商店下載,放心的點擊安裝。

這里注意緩存文件與安裝文件不能放一起,且不要有中文路徑設置好后點安裝

等待點確定就好。

二.配置海康環境

我們先啟動VS2022,點擊創建新項目

選擇空項目,點擊下一步

名字,路徑自己定,注意要打上√

創建好后就是這樣

下面我們打開海康的官方包,首先先把官方包中的路徑改寫為英文。

?

?右擊頭文件,添加,現有項

將這四個文件全部添加進去

右鍵項目名選擇屬性

鏈接器,常規,附加庫目錄,選擇要導入的庫文件

庫文件如下圖:將路徑改成下列文件夾路勁即可

鏈接器,常規,添加依賴項,輸入HCNetSDK.lib

右鍵項目名,屬性,C/C++,預處理器,預處理器定義,添加:_CRT_SECURE_NO_WARNINGS

我們檢查一下常規,輸出目錄建議新建一個新文件夾

我們需要將庫文件全部復制到輸出目錄中

至此,我們的配置基本就好了。

三.測試代碼

#include <windows.h>
#include <iostream>
#include "HCNetSDK.h"#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib, "HCCore.lib")
#pragma comment(lib, "HCNetSDK.lib")using namespace std;// 全局變量
LONG g_lUserID = -1;
LONG g_lRealHandle = -1;// 異常回調
void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void* pUser)
{if (dwType == EXCEPTION_RECONNECT){cout << "[INFO] Reconnect at " << time(NULL) << endl;}
}// 窗口回調
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{switch (message){case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hWnd, message, wParam, lParam);}return 0;
}int main()
{// 控制臺輸出AllocConsole();freopen("CONOUT$", "w", stdout);cout << "[INFO] Console started." << endl;// 注冊窗口HINSTANCE hInstance = GetModuleHandle(nullptr);WNDCLASSEX wcex = { sizeof(WNDCLASSEX) };wcex.style = CS_HREDRAW | CS_VREDRAW;wcex.lpfnWndProc = WndProc;wcex.hInstance = hInstance;wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);wcex.lpszClassName = L"HKPreviewWndClass";RegisterClassEx(&wcex);// 創建顯示窗口HWND hWnd = CreateWindowW(L"HKPreviewWndClass", L"Hikvision Preview",WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, 800, 600,nullptr, nullptr, hInstance, nullptr);ShowWindow(hWnd, SW_SHOW);UpdateWindow(hWnd);// 初始化 SDKNET_DVR_Init();NET_DVR_SetConnectTime(2000, 1);NET_DVR_SetReconnect(10000, TRUE);NET_DVR_SetExceptionCallBack_V30(0, nullptr, g_ExceptionCallBack, nullptr);// 登錄設備NET_DVR_USER_LOGIN_INFO struLoginInfo = { 0 };struLoginInfo.bUseAsynLogin = 0;strcpy_s(struLoginInfo.sDeviceAddress, "169.254.42.230"); // 替換你的設備IPstruLoginInfo.wPort = 8000;strcpy_s(struLoginInfo.sUserName, "admin");strcpy_s(struLoginInfo.sPassword, "Ding09503");NET_DVR_DEVICEINFO_V40 struDeviceInfo = { 0 };g_lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfo);if (g_lUserID < 0){cout << "[ERROR] Login failed, code: " << NET_DVR_GetLastError() << endl;NET_DVR_Cleanup();return -1;}cout << "[INFO] Login success!" << endl;// 啟動預覽NET_DVR_PREVIEWINFO struPreviewInfo = { 0 };struPreviewInfo.hPlayWnd = hWnd; // 顯示窗口struPreviewInfo.lChannel = 1;    // 通道號struPreviewInfo.dwStreamType = 0; // 主碼流struPreviewInfo.dwLinkMode = 0;   // TCPstruPreviewInfo.bBlocked = 1;     // 阻塞g_lRealHandle = NET_DVR_RealPlay_V40(g_lUserID, &struPreviewInfo, nullptr, nullptr);if (g_lRealHandle < 0){cout << "[ERROR] Preview failed, code: " << NET_DVR_GetLastError() << endl;NET_DVR_Logout(g_lUserID);NET_DVR_Cleanup();return -1;}cout << "[INFO] Preview started successfully!" << endl;cout << "Press Enter to stop..." << endl;getchar(); // 等待用戶按回車// 停止預覽與清理if (g_lRealHandle >= 0) NET_DVR_StopRealPlay(g_lRealHandle);if (g_lUserID >= 0) NET_DVR_Logout(g_lUserID);NET_DVR_Cleanup();cout << "[INFO] SDK cleanup done." << endl;return 0;
}

點擊調試就可以運行了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96923.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96923.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96923.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLO 模型從 PyTorch 轉換為 ONNX 并優化

YOLO 模型從 PyTorch 轉換為 ONNX 并優化 在深度學習部署中&#xff0c;ONNX&#xff08;Open Neural Network Exchange&#xff09; 已成為跨框架與跨平臺的標準格式。我們經常需要將 YOLOv8 在 PyTorch 中訓練好的模型轉換為 ONNX&#xff0c;并進行優化&#xff0c;以便在 …

推進新型信息基礎設施建設發展:蜂窩模組行業迎來結構性機遇

工信部副部長張云明在2025年9月9日國新辦新聞發布會上明確表示&#xff0c;將"扎實推進新型信息基礎設施建設發展"&#xff0c;并重點強調"打造新型工業網絡&#xff0c;推進蜂窩車聯網部署" 。這一政策表態對蜂窩模組行業產生深遠影響&#xff0c;將推動行…

返利app排行榜的緩存更新策略:基于過期時間與主動更新的混合方案

返利app排行榜的緩存更新策略&#xff1a;基于過期時間與主動更新的混合方案 大家好&#xff0c;我是阿可&#xff0c;微賺淘客系統及省賺客APP創始人&#xff0c;是個冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在返利APP中&#xff0c;“熱門商品排行榜”“用…

科技信息差(9.12)

AI量子計算重塑藥物研發&#xff1a;技術融合路徑與產業革命一、引言&#xff1a;技術融合的顛覆性機遇2025年9月&#xff0c;AI藥物研發公共服務平臺正式上線&#xff0c;宣稱可將新藥上市時間縮短近半1。與此同時&#xff0c;量子計算與AI的跨界合作在KRAS抑制劑開發中取得突…

Java 分布式緩存實現:結合 RMI 與本地文件緩存

目錄 一、核心思路 二、項目結構說明 2.1 服務端項目結構&#xff08;IDEA&#xff09; 2.2 客戶端項目結構&#xff08;Eclipse&#xff09; 三、服務端實現&#xff08;IDEA&#xff09; 3.1 數據庫訪問層 3.2 遠程接口定義 3.3 遠程服務實現 3.4 服務端啟動類 四、…

Electron第一個應用

1、安裝node nodeJS下載 2、下載完成&#xff0c;需要配置環境。 寫道path路徑 、 3、安裝完成&#xff0c;查看版本 npm -v4、 配置cnpm npm install -g cnpm --registryhttps://registry.npmmirror.com5、參考Electron 寫&#xff1a; Electron第一個程序hello 6、安裝…

React 原理篇 - React 新架構深度解析

使用過 React v16 之前版本的開發者或許都經歷過這樣的場景&#xff1a;當頁面包含復雜組件或大量列表時&#xff0c;輸入框打字會卡頓&#xff0c;滾動會不流暢。這些體驗問題的背后&#xff0c;往往與 React 的渲染機制密切相關。2017 年 React v16 推出的 Fiber 架構&#x…

【JavaSE五天速通|第三篇】常用API與日期類篇

適合有其他語言基礎想快速入門JavaSE的。用的資料是 Java入門基礎視頻教程 &#xff0c;從中摘取了筆者認為與其他語言不同或需要重點學習的內容 常用API與日期類只需要有印象即可&#xff0c;用到了再來這查 day04 常用API 一、StringBuilder類 StringBuilder代表可變字符…

K8s學習筆記(二) Pod入門與實戰

1 K8s核心資源Pod 1.1 Pod是什么&#xff1f; 官方文檔&#xff1a;Pod | Kubernetes Pod 是 Kubernetes&#xff08;k8s&#xff09;中最小的部署與調度單元&#xff0c;并非直接運行容器&#xff0c;而是對一個或多個 “緊密關聯” 容器的封裝。 核心特點可簡單總結為 3 …

用 Python 調用 Bright Data MCP Server:在 VS Code 中實現實時網頁數據抓取

用 Python 調用 Bright Data MCP Server&#xff1a;在 VS Code 中實現實時網頁數據抓取&#xff0c;本文介紹了Bright Data的Web MCP Server&#xff0c;這是一款能實現實時、結構化網頁數據訪問的API&#xff0c;適用于AI應用等場景。其支持靜態與動態網頁&#xff0c;前3個月…

SPSS繪制ROC曲線并計算靈敏度、特異度

SPSS繪制ROC曲線并計算靈敏度、特異度。 &#xff08;1&#xff09;繪制ROC曲線&#xff1a; 輸入&#xff1a;預測值、受試者標簽。 在SPSS中點擊“分析”-“分類”-“ROC曲線” 變量輸入&#xff1a;檢驗變量輸入預測值&#xff0c;狀態變量輸入受試者標簽&#xff0c;如果標…

Modbus協議原理與Go語言實現詳解

目錄 Modbus協議概述協議架構與通信模式Modbus數據模型Modbus協議幀格式功能碼詳解Go Modbus庫完整實現高級應用示例調試與故障排除 Modbus協議概述 Modbus是一種串行通信協議&#xff0c;由Modicon公司&#xff08;現施耐德電氣&#xff09;于1979年開發&#xff0c;用于PL…

下載CentOS 7——從阿里云上下載不同版本的 CentOS 7

沒有廢話&#xff0c;直接上干貨。跟著圖片教程&#xff0c;一步一步來就行。 想下載其它版本的&#xff0c;自己可以再選擇其它的就行。 想省事的朋友可以直接點擊: 1、下載頁面鏈接 2、CentOS-7-x86_64-DVD-2207-02(4.4GB).iso

SpringBoot -原理篇

文章目錄配置優先級Bean管理獲取beanbean作用域第三方beanSpringBoot原理起步依賴自動配置自動配置原理方案源碼跟蹤原理分析 Conditional案例&#xff08;自定義starter&#xff09;案例&#xff08;自定義starter分析&#xff09;案例&#xff08;自定義starter實現&#xff…

JavaScript與jQuery:從入門到面試的完整指南

JavaScript與jQuery&#xff1a;從入門到面試的完整指南 第一部分&#xff1a;JavaScript基礎 1.1 JavaScript簡介 JavaScript是一種輕量級的解釋型編程語言&#xff0c;主要用于Web開發&#xff0c;可以為網頁添加交互功能。它是ECMAScript規范的一種實現。 // 第一個JavaScri…

解決:Ubuntu、Kylin、Rocky系統中root用戶忘記密碼

解決Linux系統中root用戶忘記密碼 Ubuntu2204 重啟電腦&#xff0c;啟動時&#xff0c;長按Shift鍵&#xff08;對于 BIOS 系統&#xff09;或 Esc 鍵&#xff08;對于 UEFI 系統&#xff09;進入GRUB菜單 步驟1&#xff1a;重啟Ubuntu系統&#xff0c;長按Shift鍵進入Ubuntu…

ENVI系列教程(二)——自定義坐標系(北京 54、西安 80、2000 坐標系)

目錄 1 概述 1.1 地理投影的基本原理 1.2 國內坐標系介紹 1.3 參數的獲取 2 詳細操作步驟 2.1 添加橢球體 2.2 添加基準面 2.3 定義坐標系 2.4 使用自定義坐標系 1 概述 1.1 地理投影的基本原理 常用到的地圖坐標系有 2 種,即地理坐標系和投影坐標系。地理坐標系是…

一種基于因果干預的少樣本學習的故障診斷模型

一、研究背景與問題 ?工業背景?:機械故障診斷對工業系統安全至關重要,但實際中故障樣本稀少,難以訓練傳統深度學習模型。 ?現有問題?: 當前少樣本學習(FSL)方法大多基于相關性而非因果關系建模,容易學習到偽相關特征,導致模型可解釋性差、泛化能力弱。 跨組件故障診…

機器視覺光源的尺寸該如何選型的方法

機器視覺光源的尺寸該如何選型的方法&#x1f3af;機器視覺光源的尺寸選型的方法&#x1f3af;一、選型案例&#x1f3af;二、照射方式&#x1f3af;三、鏡頭選擇&#x1f3af;四、光源架構光源的工作距離與視野大小&#x1f3af;五、總結&#xff1a;光源選型 —— 機器視覺檢…

HTML新屬性

HTML5引入了許多新屬性&#xff0c;旨在增強語義化、交互性和多媒體支持。以下是一些重要的新屬性及其用途分類&#xff1a;語義化與結構屬性data-*&#xff1a;自定義數據屬性&#xff0c;允許開發者存儲額外信息&#xff08;如data-id"123"&#xff09;。hidden&am…