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

准备工作:


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

编译过程


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

DCMTK编译过程详解

STEP2:将上述的下载的三个压缩包文件解压到当前目录下
DCMTK编译过程详解

STEP3:在该目录下新建两个文件夹:dcmtk-bulid;dcmtk-bin
dcmtk-build:存放CMAKE配置和编译后的工程项目
dcmtk-bin:存放VS编译后生成的项目开发中用到的文件,头文件、链接文件……
DCMTK编译过程详解

STEP4:打开cmake文件夹目录下bin文件夹中的cmake-gui程序
DCMTK编译过程详解

STEP5:选择源码路径(dcmtk源码文件夹)和编译文件路径(dcmtk-build文件夹)
DCMTK编译过程详解

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

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

将下载的支持库目录对应的加入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编译过程详解

修改CMAKE_INSTALL_PREFIX路径为D:/DCMTK/dcmtk-bin
DCMTK编译过程详解

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

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

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

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编译过程详解

DCMTK编译过程详解

DCMTK编译过程详解

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

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

生成成功。
DCMTK编译过程详解

回到D:\DCMTK\dcmtk-bin目录下,结果如下:
DCMTK编译过程详解

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

相关文章:

  • 2021-12-09
  • 2021-12-09
  • 2021-05-06
  • 2022-12-23
  • 2021-10-19
  • 2021-06-05
  • 2021-12-06
  • 2021-11-26
猜你喜欢
  • 2021-12-19
  • 2021-09-19
  • 2021-10-22
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案