# MITK2016.11源码编译
下面是针对 MITK 2016.11 源码编译整理的完整指南,替换原文中的代码分割内容:
# 1. 环境准备
确保以下依赖安装完毕(以 Windows 为例):
- Qt:5.7.1
- CMake:3.7
- 编译器:MSVC 2015、2017
我已经安装好了MSVC 2017,所以没有安装 MSVC 2015,亲测MSVC 2017也可以成功编译。
Qt的目录需要放到环境变量中,例如在环境变量的Path下添加:D:\ProgramData\Qt\5.7\5.7\msvc2015_64\bin。
MSVC的bin目录也要放到环境变量中,防止Cmake找不到编译器。
cmake也要安装低版本的,否则也会编译失败。
# 2. 获取源码
https://www.mitk.org/download/releases/MITK-2016.11/
直接下载windows版本的源码
# 3. 创建构建目录
推荐使用独立目录组织源码和编译输出,最好在盘符的根目录创建build目录。
这种结构可避免路径过长导致的问题。
# 4. 配置 superbuild(CMake GUI)
-
打开 CMake GUI,设置:
- Where is the source code:
D:\MITK-2016.11-src - Where to build binaries:
D:\MITK-2016.11-superbuild
- Where is the source code:
-
选择生成器为 “Visual Studio 15 2017 Win64”
-
点击 Configure,等待红色变量项加载
-
点击 Configure 直到没有红色警告,再点击 Generate
# 5. 编译 MITK
在 D:\MITK-2016.11-superbuild 中,会生成一个 .sln 文件:
- 使用 Visual Studio 打开此
MITK-superbuild.sln - 设置 Release 模式,生成
BUILD_ALL - 编译后,在
D:\MITK-2016.11-superbuild中会生成MITK-build - 所有编译完之后,只有MITK-build的项目会出现错误,其他项目都可以正常编译。
- 若其他项目仍有错误,需检查相应的错误,并查找解决办法。
注意:
- 若编译过程中出现错误,请先检查依赖是否安装正确、路径是否正确、CMake是否配置正确
- 若编译过程中出现
MSB6006 / 路径过长,请尝试缩短路径、移至根目录;确保 ITK/VTK 构建无错误 - 若编译过程中出现
Qt相关的错误,请确保Qt使用的是5.7.1版本,并且在环境变量中设置了路径,高版本容易出现兼容性问题
下面是对你文章的补全建议,增加 superbuild 自定义模块、运行说明、打包发布等细节,结构统一清晰:
# 6. 使用 OpenCV、ACVD 等模块
如果需要启用 OpenCV、ACVD、以及如 remeshing(重网格化)相关模块,在 superbuild 的 CMake 配置阶段需要手动勾选相关选项:
在 CMake GUI 或 ccmake 中,分别开启:
MITK_USE_OpenCV:启用 OpenCV 支持,superbuild 会自动下载并构建 OpenCV 2.4.xMITK_USE_ACVD:启用 ACVD 重网格化算法- 如果更高版本 OpenCV,可以通过指定
EXTERNAL_OpenCV_DIR指向本地 OpenCV 构建目录,使 MITK 使用已有安装版本 ([docs.mitk.org][1])
同时建议:
- 设置
CMAKE_PREFIX_PATH指向 Qt 安装目录,如D:/ProgramData/Qt/5.7/msvc2015_64 - 勾选
MITK_USE_Qt5,确保 Qt 模块被激活 ([docs.mitk.org][1])
配置完后,重新 Configure → Generate,确保相关变量都已设置生效。
# 7. 定制 Superbuild 与注入已有库
若你已有第三方库(如 OpenCV、Boost、ITK、VTK、DCMTK 等),无需 superbuild 自动下载,可以“注入”本地版本来提高编译效率:
设置变量:
EXTERNAL_OpenCV_DIREXTERNAL_ITK_DIREXTERNAL_VTK_DIREXTERNAL_DCMTK_DIREXTERNAL_BOOST_ROOT
CMake 会使用指定路径下的预编译版本,而不会重新构建这些库 ([docs.mitk.org][1])。
# 8. 编译过程建议
在 Windows(Visual Studio)环境:
- 打开
MITK-superbuild.sln,将模式设置为 Release。 - 右键
BUILD_ALL(或 superbuild 顶级目标)→ Build。 - 编译完成后,核心路径结构如下:
MITK-superbuild/
├─ src/
├─ ep/ ← 外部库
├─ MITK-build/ ← MITK 主项目
├─ bin/, lib/…
当然可以,以下是你文章的 第9节“继续编译 MITK Workbench 应用” 的完整补充内容,以及后续可以加的运行、打包说明,风格与前文一致、结构清晰统一。
# 9. 继续编译 MITK Workbench 应用
MITK Workbench 是 MITK 的图形用户界面应用(基于 Qt),其编译步骤如下:
# 进入 MITK 主项目目录
打开路径:
D:\MITK-2016.11-superbuild\MITK-build
找到并打开 MITK.sln(不是 superbuild 的 .sln)。
# ⚙️ 配置并编译 Workbench
- 打开 Visual Studio,加载
MITK.sln。 - 设置编译模式为
Release。 - 右键点击解决方案中的 ALL_BUILD,选择 Build。
- 编译过程中如果提示缺少模块,请确认 superbuild 已构建所需依赖,并配置正确路径。
- 编译成功后,
bin目录下会出现可执行文件MITKWorkbench.exe。
# 10. 运行 MITK Workbench
前往以下目录:
D:\MITK-2016.11-superbuild\MITK-build\bin\Release\
找到并双击运行:
MITKWorkbench.exe
若报错缺少 DLL:
- 确保 Qt 安装路径的
bin目录加入了环境变量(或手动将 DLL 拷贝到可执行目录) - 确保外部依赖库(如 ITK、VTK)构建无误,路径引用正确
- 若报错:Could not find QtWebEngineProcess.exe等qt相关的错误,将qt下的EXE文件拷贝到与主程序目录下同级目录,则可以解决问题
- 若报错:QSqlDatabase: QSQLITE driver not loaded等,需将Qt安装目录下的plugin的sqldrivers目录复制到可执行文件目录下
# 11. 常见问题与解决
| 问题描述 | 解决方法 |
|---|---|
| Qt 相关报错或运行时丢失 DLL | 确保 Qt 使用 5.7.1,且环境变量设置正确 |
MSB6006 错误 / 路径过长 |
确保 build 路径简短,例如 D:\MITK-build |
| 编译 ITK、VTK 失败 | 检查 superbuild 外部项目日志:ep/ITK*/CMakeFiles 等 |
# 总结
MITK 2016.11 的 superbuild 机制为初学者和开发者提供了清晰的依赖管理流程,只要:
- 使用合适版本(Qt 5.7.1、MSVC 2017)
- 遵循 superbuild → MITK-build 的编译顺序
- 适当调整路径与环境变量配置
即可顺利完成编译,并运行 MITK Workbench。对于需要扩展模块或定制构建流程的开发者,也可以借助 EXTERNAL_* 变量灵活集成已有库,极大提高效率。