一、准备工作
vs2017、 qt5.12.10、cmake3.19.2、git、qt-vsaddin-msvc2017、mitk源码
二、cmake配置
- MITK源码下CMakeExternals文件里所有*.patch文件改为Windows(CR、LF)。(用notepad++)。
- 同级目录,MITK放置源码/Build构建成vs2017 x64项目/Install生成信息输出
- Qt5_DIR 指定目录 .../Qt/Qt5.12.10/5.12.10/msvc2017_64/lib/cmake/Qt5
- 取消勾选 BUILD_TESTTING
- 勾选 MITK_BUILD_EXAMPLES
- 设置 CMAKE_INSTALL_PREFIX 值为 .../Install
- configure直到红色消失,点击generate,open project
三、构建 ALL_BUILD 项目
1.出现构建错误、忽略错误选项、过滤 C4819 警告,并且把 报 C4819 的文件保存为 Unicode pack 1200 格式后重新编译,因为Mitk是在Liunx平台下开发的,所以字符编码不同会造成 pache 出现不可预料的问题,在改完 C4819 警告后,此错误将消失
2.重新编译后还是会报一些错误,C2220、MSB600、C4819 等,同样先处理 C4819 警告后编译
3.遇到 CTK、DCMQI 源代码拉去失败问题,这个可以直接使用 git 拉下来,我感觉这样快一点
拉取 CTK,首先到 .../Build/ep/tmp/CTK-download-repoinfo.txt,里面有 CTK 拉取链接,这个链接每个版本都不一样
git clone GitHub - commontk/CTK: A set of common support code for medical imaging, surgical navigation, and related purposes. .../Build/ep/src/CTK
同样,找到.../Build/ep/tmp/CTK-download-repoinfo.txt 拉取 DCMQI
git clone GitHub - QIICR/dcmqi: dcmqi (DICOM for Quantitative Imaging) is a free, open source C++ library for conversion between imaging research formats and the standard DICOM representation for image analysis results .../Build/ep/src/DCMQI
4.直到只剩下一个 MSB600 错误,这是由于 ITK 模块拉去代码失败造成的
四、构建 MITK-BUILD
1.生成 MITK-build 项目
2.首先注意是debug还是release,要与上面编译的mitk-superbuild保持一致,然后直接开始编译
3.编译成功之后选择mitkWorkBench作为启动项,运行出现workBench 的UI界面证明MITK编译成功。
五、总结
不管遇到什么错误,都优先解决 C4819 警告,在业内字符集一直都是头疼的问题。如果字符集解决不了,在分析问题、解决问题。