MITK从源码构建
参考:https://www.cnblogs.com/dreamdog/p/15071437.html
1. 环境需求
-
Windows 10
-
MITK源码:我用的MITK v2021.02版本https://github.com/MITK/MITK/releases/tag/v2021.02,如图所示,下载Source code (zip)格式,解压到本地
MITK-2021.02文件夹存储着解压的源码,Build文件夹用于后续存放cmake编译生成的文件。
- VS版本: VS2017 Community
官网的下载链接好像没有2017版本了,如果找不到可以下载一个Unity2018版本,会自动安装VS2017,Unity链接:https://unity.cn/releases/full/2018
- CMake版本:3.21.0-rc2
https://cmake.org/files/v3.21/
我下载的版本如下图所示,然后就一键安装了
- Qt版本:Qt5.12.9 msvc2017_64
https://download.qt.io/archive/qt/5.12/5.12.9/
我下载的是qt-opensource-windows-x86-5.12.9.exe
然后安装时可以参考下网上的资料,重点就是选择组件时全选
Qt版本的 msvs2107_64是后面CMake要用的,目前不用管
- 其他
- Git:我在安装时本地电脑已经配置了Git了,网上资料说可以用VS自动安装的Git工具,这个影响应该不大
- OpenSSL: 网上资料说使用Qt Tool安装,但是这个是可选项,我没有管它
- Qt Visual Studio Tools version msvs2017-2.7.1-rev.20:https://download.qt.io/archive/vsaddin/2.7.1/
这个我不知道有没有影响,以及应该安装哪个版本,我用的是上面这个版本
2. CMake 配置
编译前工作准备
在MITK源码目录下,有一个CMakeExternals文件夹,需要将这个目录下所有.patch为后缀名的文件的行尾序列改为CRLF。
网上资料一般是用的Notepad软件来修改,这里给出其下载链接:https://notepad-plus.en.softonic.com/
我用的是VS code,使用VS code打开文件后,在界面右下角如图所示,
将行尾序列从LF改为CRLF并保存即可。
CMake编译流程
-
打开CMake的gui,配置Where is the source code:为你的源码路径(即上述的MITK-2021.02那个文件夹路径);配置Where to build the binaries:为上述的Build文件夹路径
-
点击configure,记得要选择编译器为vs15 2017(不是vs2015)和编译格式(x64)
-
第一次报错,如果没有预期外的情况,这里应该会显示找不到Qt5的路径。设置Qt5_DIR为Qt5的安装路径,格式大致如下所示,一定要是msvc2017_64,然后勾选MITK_BUILD_EXAMPLES
-
然后configure直到没有红色出现,再点击generate
注意事项:
- 所有和Qt5有关的路径都要选择msvc2017_64的版本,我编译时可能是因为尝试了多种CMake和Qt版本,所以有些Qt并没有自动更新成64位版本,算是踩过的一个坑。大概下图所示的路径都要注意:
- 其他问题应该不大,可以查下资料
3. 编译
在CMake generate成功后,在Build文件夹下使用VS2017打开MITK-superbuild.sln, 选择Release x64,选择ALL_BUILD,右击后点击生成
注意事项
- 第一次生成应该会报一些错,首先要解决C4819警告。这个警告是因为字符编码格式问题产生的。
解决方式:打开所有报此警告的文件,全选后通过高级保存选项,将编码格式改为Unicode PageCode 1200后保存
高阶保存选项打开方式:点击:工具->自定义->命令->添加命令->文件->高级保存选项
https://blog.csdn.net/willingtolove/article/details/103772406
保存完以后,一定要选择生成,而不是重新生成!!!
- 网络问题,在编译时需要下载一些文件,请保持网络通畅(梯子开启全局模式)
运行
注意上述两点问题后,预期情况下应该可以顺利编译成功了。
此时,在Build文件夹下,找到MITK-build文件夹,进入后找到MITK.sln,使用VS2017打开,选择Release x64(一定要与之前编译时相同)。选择mitkWorkBench作为启动项(这个应该是默认的),运行该工程,出现workBench的UI界面证明MITK编译成功。
打开,选择Release x64(一定要与之前编译时相同)。选择mitkWorkBench作为启动项(这个应该是默认的),运行该工程,出现workBench的UI界面证明MITK编译成功。