DCMTK编译过程详解

医学图像开发免不了要使用DCMTK包做DICOM图像的解析和相关操作,在使用DCMTK工具包时,首先需要CMAKE编译源码,生成我们开发需要的文件,笔者根据自身编译的实战经验,详细讲述一下DCMTK的编译过程。

准备工作:


  • 从官网下载dcmtk源码
    DCMTK编译过程详解_第1张图片
  • 下载编译需要的支持包:下载VS编译器对应的版本
    DCMTK编译过程详解_第2张图片
  • 从官网下载CMake工具(这一步比较简单,自己下载)

编译过程


STEP1:在自己的本地磁盘上新建一个文件夹,将上述下载的文件统一放在该文件夹下(假设为D:\DCMTK

这里写图片描述

**STEP2:**将上述的下载的三个压缩包文件解压到当前目录下
DCMTK编译过程详解_第3张图片

**STEP3:**在该目录下新建两个文件夹:dcmtk-bulid;dcmtk-bin
dcmtk-build:存放CMAKE配置和编译后的工程项目
dcmtk-bin:存放VS编译后生成的项目开发中用到的文件,头文件、链接文件……
这里写图片描述

**STEP4:**打开cmake文件夹目录下bin文件夹中的cmake-gui程序
DCMTK编译过程详解_第4张图片

**STEP5:**选择源码路径(dcmtk源码文件夹)和编译文件路径(dcmtk-build文件夹)
DCMTK编译过程详解_第5张图片

STEP6:点击Configure按钮,选择相应的编译器,开始配置过程,这个过程有点长,需要耐心等待
DCMTK编译过程详解_第6张图片

**STEP7:**等待配置完成,将Grouped和Advanced选项设置为选中状态,修改几个以下设置:
DCMTK编译过程详解_第7张图片

将下载的支持库目录对应的加入WITH列表中
WITH_LIBCONVINC:D:/DCMTK/dcmtk-3.6.2-win32-support_MD-msvc-12.0/libiconv-1.15
WITH_LIBPNGINC:D:/DCMTK/dcmtk-3.6.2-win32-support_MD-msvc-12.0/libpng-1.6.30
WITH_LIBTIFFINC:D:/DCMTK/dcmtk-3.6.2-win32-support_MD-msvc-12.0/libtiff-4.0.8
WITH_LIBXMLINC:D:/DCMTK/dcmtk-3.6.2-win32-support_MD-msvc-12.0/libxml2-2.9.4
WITH_OPENSSLINC:D:\DCMTK\dcmtk-3.6.2-win32-support_MD-msvc-12.0\openssl-1.1.0f
WITH_ZLIBINC:D:/DCMTK/dcmtk-3.6.2-win32-support_MD-msvc-12.0/zlib-1.2.11

更改下图中的几个选项,将下图中的勾选的几个选项选中
DCMTK编译过程详解_第8张图片

修改CMAKE_INSTALL_PREFIX路径为D:/DCMTK/dcmtk-bin
DCMTK编译过程详解_第9张图片

修改完上述设置后,点击Configure再次配置,如果有问题会出现红色,没问题的话直接点击Generate生成项目
DCMTK编译过程详解_第10张图片

**STEP8:**点击Open Project按钮启动VS打开生成的工程项目,选中ALL_BUILD右键生成,等待ing……
DCMTK编译过程详解_第11张图片

等待编译完成,如果没有问题,应该如下图所示
DCMTK编译过程详解_第12张图片

**STEP9:**打开D:\DCMTK\dcmtk-3.6.2-win32-support_MD-msvc-12.0\openssl-1.1.0f\bin,目录下面有几个动态链接库文件,我们需要修改D:\DCMTK\dcmtk-build\dcmnet\apps目录下的cmake_install.cmake文件,用记事本打开该文件,修改红框框住的两个文件名,

DCMTK编译过程详解_第13张图片

DCMTK编译过程详解_第14张图片
修改为
DCMTK编译过程详解_第15张图片

如果不修改上述文件名,INSTALL的时候将会出现如下错误:
DCMTK编译过程详解_第16张图片

**STEP10:**完成上述修改后,在VS解决方案管理器中选择INSTALL,右键 > 仅用于项目 > 仅生成INSTALL
DCMTK编译过程详解_第17张图片

生成成功。
DCMTK编译过程详解_第18张图片

回到D:\DCMTK\dcmtk-bin目录下,结果如下:
DCMTK编译过程详解_第19张图片

至此,编译过程结束,dcmtk-bin目录下的文件就是我们日后开发中需要的文件。

你可能感兴趣的:(医学图像,dicom,DCMTK)