编译 DCMTK 并不复杂,网上也有很多讲的很清晰的文章,本文权当一篇个人记录。
由于最新的 DCMTK 3.6.5 只提供了 VS2017 版本的支持库,而我要使用 VS2015,因此选择了编译 DCMTK 3.6.4。
下载 DCMTK 源码和支持库
到这个地址下载 DCMTK 3.6.4 源码和支持库:https://dicom.offis.de/download/dcmtk/dcmtk364
也可以点击下面链接直接下载:
下载之后,将 dcmtk-3.6.4.zip
和 dcmtk-3.6.4-win64-support_MD-msvc-14.0.zip
分别解压到 D:
盘 D:\dcmtk-3.6.4
和 D:\dcmtk-3.6.4-win64-support_MD-msvc-14.0
文件夹。
编译 DCMTK
首先下载 CMake:cmake-3.18.2-win64-x64.zip
将下载的 cmake-3.18.2-win64-x64.zip
解压到 D:\cmake-3.18.2-win64-x64
文件夹。
在 D:
盘创建 D:\dcmtk-3.6.4-build
文件夹,用于存放编译后的 DCMTK 文件。
运行 D:\cmake-3.18.2-win64-x64\bin\cmake-gui.exe
,打开 CMake。点击 Browse Source… 按钮,选择 D:/dcmtk-3.6.4
文件夹,再点击 Browse Build… 按钮,选择 D:/dcmtk-3.6.4-build
文件夹,如图:
点击 Configure 按钮,在弹出的编译器选择框中选择 Visual Studio 14 2015
,平台选择 x64
,如图:
注意:由于前面下载的是 win64 的支持库,所以此处需选择 x64
平台,以保持一致。
点击 Finish 按钮,完成配置。
经过大约 5 分钟左右,配置完成,在输出窗口底部出现 Configuring done
。
更改默认配置
选中【Grouped】和【Advanced】,显示全部配置项,并对配置项分组。
【1】、展开 BUILD
节点,选中 BUILD_SHARED_LIBS
配置项。
说明:如果不选中 BUILD_SHARED_LIBS
,默认生成的是静态库,只有选中 BUILD_SHARED_LIBS
才能生成动态链接库(DLL)。另外,如果选中 BUILD_SINGLE_SHARED_LIBRARY
,能够生成一个单个的 DLL,否则会生成多个 DLL。
【2】、展开 CMAKE
节点,设置 CMAKE_DEBUG_POSTFIX
的值为 _d
,修改 CMAKE_INSTALL_PREFIX
的值为 D:/dcmtk-3.6.4-install
。
说明:CMAKE_DEBUG_POSTFIX
用于给 Debug 版的 DLL 文件名添加后缀,此项可以不设置。如果不设置的话,Debug 版与 Release 版的 DLL 文件名相同。CMAKE_INSTALL_PREFIX
指定 DCMTK 的安装路径,默认是 C:/Program Files (x86)/DCMTK
,而系统盘是需要管理员权限才能写入的,故修改安装路径为 D: 盘。
【3】、展开 DCMTK
节点,勾选下列配置项:
DCMTK_ENABLE_CXX11
DCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS
DCMTK_WITH_ICONV
DCMTK_WITH_OPENSSL
DCMTK_WITH_PNG
DCMTK_WITH_TIFF
DCMTK_WITH_XML
DCMTK_WITH_ZLIB
注意,还要 取消勾选 DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS
,据说很重要。
【4】、由于上一步勾选了 DCMTK_WITH_ICONV
、DCMTK_WITH_OPENSSL
、DCMTK_WITH_PNG
、DCMTK_WITH_TIFF
、DCMTK_WITH_XML
、DCMTK_WITH_ZLIB
这 6 个配置项,所以还需要设置这 6 个库的路径。
展开 WITH
节点,设置各个库的路径为 dcmtk-3.6.4-win64-support_MD-msvc-14.0.zip
解压后的文件夹。如下图:
【5】、重新点击 Configure 按钮,稍等片刻,配置完成,在输出窗口底部出现 Configuring done
。然后点击 Generate 按钮,在输出窗口底部出现 Generating done
,同时 Open Project 按钮变为可用状态。
生成 DLL
点击 Open Project 按钮,启动 Visual Studio 2015,刚才生成的解决方案会自动打开。
在 解决方案资源管理器 里,在 ALL_BUILD
项目名称上点击鼠标右键,在弹出菜单上选择 [生成],开始编译。
大约 8 分钟左右,编译完成(依电脑性能不同,所需时间可能不同)。在底部的 输出 窗口,显示:
========== 生成: 成功 98 个,失败 0 个,最新 0 个,跳过 0 个 ==========
打开 D:\dcmtk-3.6.4-build\bin\Debug
文件夹,可见 DLL 文件已经生成成功。
安装 DCMTK
在 解决方案资源管理器 里,在 INSTALL
项目名称上点击鼠标右键,在弹出菜单上选择 [生成]。
生成完毕后,打开 D:\dcmtk-3.6.4-install
文件夹,可见里面包含了 bin
、include
和 lib
子文件夹,bin
文件夹里是编译成功的 DLL 文件,include
文件夹里是 DCMTK 的头文件,lib
文件夹里是 .lib 文件。
下载编译好的 DLL
https://download.csdn.net/download/blackwoodcliff/13187054