DCMTK学习笔记1 win10上编译DCMTK3.6.5

参考:https://zhuanlan.zhihu.com/p/98734422

准备:VS2017+dcmtk-3.6.3+cmake3.13.2 

源码:https://dicom.offis.de/download/dcmtk/dcmtk365/ 
依赖项:https://dicom.offis.de/download/dcmtk/dcmtk365/support/

源码链接中下载dcmtk.3.6.5.tar.gz或dcmtk-3.6.5.zip,两者内容是相同的,只不过是不同的压缩方式。

依赖项项链接中,根据需要下载依赖项。因为系统为Win10 64bits,VS为2017版本,要采用多线程CRT库的动态dll版本,故选择了dcmtk-3.6.5-win64-support-MD-iconv-msvc-15.8支持库。iconv、icu的相同点在于两个压缩包里都有libpng、libtiff、openjpeg、openssl、zlib, 不同点在于icu包中还有icu、libxml2-icu,iconv包中还有iconv、libxml2-iconv。

1. cmake 配置

点configure,选择编译器Visual Studio 2017 win64,继续configure,等待一会,出现cofigure done说明初始配置成功,这时可以修改一下DCMTK的安装目录,以便后续DCMTK库。

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第1张图片

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第2张图片

进入DCMTK分组下,把DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS 后面的√去掉,在选择MD/MDd支持库时,这一步尤为重要。另外,我的变动如下:

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第3张图片

如果你需要比较完整的使用DCMTK库,需要把以下7项进行选择,选择后DCMTK功能比较完善:

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第4张图片

如果你选择了上述的几个选项,此时你需要在WITH下面把各个对应的附加库的源文件路径添加到对应的项目下。记住是DCMTK官网下载的dcmtk-3.6.5-win64-support_MD-iconv-msvc-15.8其他版本根据自己实际情况亦可。

选择Advanced,如果我们要编译Debug版本,记住看一下CMAKE_CXX_FLAGS_DEBUG后面是不是MDd,因为MDd是Debug版本的。

设置好之后再cofigure一下,出现cofigure done说明配置成功,可以点generate生成工程,出现Generating done说明生成成功。

2. vs2017编译调试

现在到DCMTK工程的存放目录,使用VS2017 管理员模式打开DCMTK.sln。随便在一个项目上右击->属性->常规->字符集查看字符集是否为多字节字符集。同时在 C/C++ -->代码生成下查看运行库是否为 MDd。

选择ALL_BUILD Debug -->生成 ,这过程会花点时间,耐心等待或做点其他的事情吧。顺利的话,会提示生成成功99个,失败0个。有一些警告,应该没什么影响,先不管了。

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第5张图片

选中INSTALL,右键--》仅用于项目INSTALL--》仅重新生成INSTALL,等待一会,出现如下提示,说明成功。

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第6张图片

这时,可以到cmake阶段设置的库安装目录查看:

DCMTK学习笔记1 win10上编译DCMTK3.6.5_第7张图片

你可能感兴趣的:(DCMTK学习笔记,经验分享)