win11,visual studio 2022,配置dcmtk,opencv

一、配置dcmtk

1? 文件下載---地址,Software Development based on DCMTK - dicom.offis.de

源文件下載,選擇.zip下載,.tar.gz為Linux和macOS下面常見的壓縮包


支持庫下載

解決 DCMTK 在 Windows 上編譯時所需的依賴庫問題

libiconv

GNU有自己的開源項目libiconv,大多數非嵌入式的Linux發行版應該是使用這個

icu4c

ICU 是比較有特色的一個實現:跨平臺,歷史悠久,支持 Java 和 C++


CMake下載,網址Download CMake


2 使用CMake生成適用于 Windows 的DCMTK構建系統(Visual Studio 解決方案)

首先,初始化CMake配置過程,生成適用于 VS2022 的解決方案文件

底層操作包括:1 檢測系統上安裝的編譯器(這里指定了VS2022,所以會使用對應的MSVC編譯器)。2?運行CMakeLists.txt中的指令,設置項目變量(如DCMTK的編譯選項)。3 在構建目錄中生成項目文件和緩存文件(CMakeCache.txt)

具體操作包括:1 關閉所有和VS有關的程序,然后打開CMake-gui,設置源碼包路徑和DCMTK工程的存放路徑,勾選Grouped(將相關配置項分組顯示,方便查找 DCMTK 特定選項(如DCMTK_WITH_OPENSSL)和Advanced(顯示所有高級配置選項,如CMAKE_INSTALL_PREFIX等)


2 點擊Conifigure,在打開的窗口里選擇相應的VS版本(這里為Visual Studio 17 2022),點擊Finish。接著CMake會開始掃描本機的編譯環境并進行相關的配置,這一步大概要花費十來分鐘


其次,再次配置可配置變量

初始配置后CMake-gui中會顯示可配置的變量(紅色背景)。可以根據需要調整這些變量(如設置CMAKE_INSTALL_PREFIX、開啟/關閉某些特性等)。調整后需要再次點擊Configure,直到沒有紅色變量出現,然后點擊Generate生成最終的解決方案。

具體設置包括:1 BUILD組設置

2 DCMTK組設置(支持庫)


3 WITH組設置(支持庫路徑)

4 CMAKE組設置(主要設置安裝路徑)

再次點擊Conifigure,第二次編譯很快結束

最后,生成VS解決方案

點擊Generate生成dcmtk.sln,位于D:\c++\dcmtk

3 使用VS2022 執行編譯和安裝

首先,打開DCMTK.sln

在路徑D:\c++\dcmtk中打開dcmtk.sln,如下所示:


其次,編譯 DCMTK 工具包中包含的所有核心庫、模塊和應用程序,生成二進制文件

輸出文件如下

具體過程,打開VS的生成(Build)---批生成(Batch build)對話框,在ALL_BUILD里勾選Debug和Release,點擊生成(Build),編譯完成后會在工程bin目錄下生成exe和dll,lib目錄下生成lib,這個過程可能耗時較久,結束之后解決方案的輸出可能報錯,只要生成的輸出不報錯就沒問題
最后,編譯INSTALL項目,部署開發環境

INSTALL項目的作用是將編譯好的庫和頭文件等復制到安裝目錄(通常是在CMake配置時指定的目錄)

具體過程,打開batch build對話框,在INSTALL里勾選想要配置的install版本(Debug或Release),我們選擇debug版本,如果報錯“msb3073,命令setlocal”,則以以管理員身份運行 VS2022。

生成后,會將相應的文件拷貝到在CMake里設置的CMAKE_INSTALL_PREFIX的路徑下

包括:bin目錄里為exe和dll
? ? ? ? ? ?include目錄為頭文件
? ? ? ? ? ?lib目錄下生成lib

將支持庫包里(D:\install\dcmtk\dcmtk-3.6.7-win64-support-MD-iconv-msvc-17.0\zlib-1.2.12\lib)的zlib_d.lib拷貝到生成的lib目錄(上圖)

二 、運行相關項目
1、設置VC++目錄
設置include和lib目錄,添加之前設置的安裝目錄(D:\Program Files (x86)\c++\install\dcmtk)


2、設置Qt Project Setting目錄
設置Qt安裝路徑
3、設置附加依賴庫
設置附加依賴庫,內容如下:

iphlpapi.lib
WS2_32.Lib
WSock32.Lib
NetAPI32.Lib
// 上述四個為系統庫
ofstd.lib
oflog.lib
dcmdata.lib
cmr.lib
dcmdsig.lib
dcmect.lib
dcmfg.lib
dcmimage.lib
dcmimgle.lib
dcmiod.lib
dcmjpeg.lib
dcmjpls.lib
dcmnet.lib
dcmpmap.lib

dcmrt.lib


// 上述為DCMTK庫
zlib_d.lib
// 上述為支持包庫

4、添加dll
直接運行代碼的話會直接奔潰,需要添加對應的dll文件,將dcmtk安裝目錄以下文件拷貝進工程的exe程序同目錄下即可,之后即可運行項目

二 配置opencv

1?Releases - OpenCV下載OpenCV,選擇opencv-4.5.5的windows

文件夾中文件如下

2 更改環境變量

右鍵點擊電腦,選擇屬性---高級系統設置---環境變量---系統變量---Path---新建

3 visual studio中的配置

打開visual studio 2022,新建一個c++空項目

點擊opencv2,右鍵屬性

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

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

相關文章

2025 最新 Appium Inspector 環境搭建教程

1 環境搭建背景 版本升級:Appium 2.0 版本替代 1.x,原 Appium Desktop 因安全漏洞和功能廢棄不再適用。需求痛點:Android Studio 僅支持 debug 程序元素定位,需通過 Appium Inspector 實現通用 APK 元素定位。 2 環境搭建步驟 …

Vue 安裝使用教程

一、Vue 簡介 Vue(讀作 /vju?/,類似于“view”)是一款用于構建用戶界面的漸進式 JavaScript 框架。它易于上手,輕量高效,適合快速構建前端界面,廣泛應用于各類 Web 項目中。 二、Vue 安裝方式 2.1 直接通…

通過http調用來訪問neo4j時報錯,curl -X POST 執行指令報錯

curl -X POST ^ More? http://localhost:7474/db/neo4j/tx/commit ^ More? -H Authorization: Basic bmVvNGo6MTIzNDU2Nzg ^ More? -H Content-Type: application/json ^ More? -d { \"statements": [{\"statement": \"MATCH (n) RETURN n, label…

Node.js到底是什么

我想像是npm、vite這些名詞大家都很熟悉,對它們的作用也有大致印象,但是可能都像我一樣不明白Node.js到底是什么,這里給大家帶來一個簡單介紹。 Node.js 詳解:歷史發展、生態構建與底層原理 一、Node.js 的起源與歷史發展 誕生背…

Rust與Go:GAN實戰對決

Rust與Go生成對抗 GAN概念 GAN的全稱是Generative Adversarial Network,中文翻譯為生成對抗網絡。這是一種深度學習模型,由兩部分組成:生成器(Generator)和判別器(Discriminator)。生成器的任務是創建數據,而判別器的任務是區分生成器創建的數據和真實數據。這兩部分…

pyspark driver 上傳pod本地文件到對象存儲

前提: pyspark driver on k8s,環境變量或者spark_home/jars 下有相關對象存儲的包,報錯包問題就這里添加jar即可 from py4j.java_gateway import java_import from pyspark.sql import SparkSession# ----------------------------------------------------------------------…

使用GeoServer發布地圖shapefi(.shp)數據

1.創建新的工作區 2.添加新的數據存儲,選擇Shapefile - ESRI? Shapefiles (*.shp) 如果這個發布頁面退出了 可以這樣找回來 點擊發布返回圖層我們發布的數據在圖層顯示 點擊Layer Preview 預覽 現在前端就可以用 OpenLayers地圖來調用這個服務了

python+uniapp基于微信小程序的PS社區系統

文章目錄 具體實現截圖本項目支持的技術路線源碼獲取詳細視頻演示:文章底部獲取博主聯系方式!!!!本系統開發思路進度安排及各階段主要任務java類核心代碼部分展示主要參考文獻:源碼獲取/詳細視頻演示 ##項目…

設計模式 - 組合思維_Unix 設計哲學三大原則

文章目錄 引言Unix 哲學本質三大啟示總覽啟示一:保持簡單清晰性軟件復雜度來源實踐方法 啟示二:借鑒組合理念Unix 組合示例避免“定制驅動”爛設計 啟示三:重拾數據思維數據驅動編程演進案例分析 總結 引言:介紹 Unix 與 Unix 哲學…

C++ 快速回顧(四)

C 快速回顧(四) 前言一、純虛函數二、final關鍵字1.作用到函數2.作用到類 三、虛函數原理四、Lambda一些知識補充 前言 用于快速回顧之前遺漏或者補充C知識 一、純虛函數 純虛函數主要是當接口,沒有具體的實現要到派生類去實現。 純虛函數…

vue入門學習時,按照官方的教程生成的vue3項目后,命令行運行npm install出現一堆warn,然后運行npm run dev報錯,項目啟動失敗

日期:2025年6月27日 星期五農歷六月初三 VUE版本:vue3 IDE:vs code vue入門學習時,按照官方的教程生成的vue3項目后,命令行運行npm install出現一堆warn,然后運行npm run dev報錯,項目啟動失敗…

jQuery EasyUI 安裝使用教程

一、jQuery EasyUI 簡介 jQuery EasyUI 是一套基于 jQuery 的用戶界面框架,提供了豐富的 UI 組件,如數據表格、樹形結構、窗體、對話框等,適用于快速開發后臺管理系統和 Web 應用界面。它封裝了大量常用功能,使用簡單&#xff0c…

python下劃線開頭函數總結

在Python中,以雙下劃線 __ 開頭的函數(或變量)具有特殊的命名含義,主要用于實現類的私有成員、魔法方法(特殊方法)和名稱修飾(Name Mangling)機制。下面詳細解釋這三種情況&#xff…

代理模式 - Flutter中的智能替身,掌控對象訪問的每一道關卡!

痛點場景:直接加載高清大圖 假設你的應用需要顯示用戶相冊: NetworkImage(https://example.com/high-res-photo.jpg)面臨的問題: 📶 網絡差時長時間白屏💾 重復下載相同圖片浪費流量🔒 敏感圖片無權限驗…

Python集合的創建

一、前言 在 Python 編程中,集合(set)是一種非常實用的數據結構,它能夠存儲一組無序且不重復的元素。集合廣泛應用于數據去重、交并差運算等場景。 本文將重點講解 Python 中集合的創建方式,包括使用大括號 {}、set(…

作物生長模型Oryza V3實戰15:AutoCalibration程序詳解

ORYZA 模型中的 AutoCalibration (v2.1).exe 是用于 ORYZA 模型參數自動校準的可執行程序,在優化 ORYZA 模型參數、提高模型模擬準確性方面具有重要作用。程序能夠通過特定算法,在給定的參數取值范圍內,自動搜索出一組最優的參數組合,使得模型模擬結果與實際觀測數據(如作…

算法-每日一題(DAY12)最長和諧子序列

1.題目鏈接: 594. 最長和諧子序列 - 力扣(LeetCode) 2.題目描述: 和諧數組是指一個數組里元素的最大值和最小值之間的差別 正好是 1 。 給你一個整數數組 nums ,請你在所有可能的 子序列 中找到最長的和諧子序列的…

阿里云-云效自動部署spring boot項目

1.使用云效通過docker自動部署spring boot項目 1.1 spring boot項目配置 # 阿里云的jdk17鏡像 FROM registry.cn-zhangjiakou.aliyuncs.com/publicci/openjdk:17-jdk-alpineENV APP_HOME /home/admin/app/# 將target/arms-application.jar 復制到容器中 /home/admin/app/app.…

SQL篇 添加約束、刪除約束

SQL篇 添加約束、刪除約束 1、相關鏈接2、約束的增刪找查2.1 查看約束(主鍵、外鍵、唯一性、檢查約束)2.2 查看默認約束2.3 修改約束(添加/編輯/修改)2.3.1 添加主鍵約束2.3.2 添加外鍵約束2.3.3 添加唯一性約束2.3.4 添加檢查約束…

Python PyTorch 深度學習庫 包 timm

文章目錄 📦 主要特點🚀 安裝方式🧪 使用示例示例1:加載一個預訓練模型進行圖像分類示例2:獲取模型結構信息 🌐 官方資源🔍 常見用途? 優勢總結 Timm 是一個非常流行且功能強大的 Python 深度學…