MITK详细安装教程

参考文章

https://www.cnblogs.com/shHome/p/14512199.html
https://blog.csdn.net/libaineu2004/article/details/124202508
https://blog.csdn.net/qq_16949707/article/details/59108638
https://docs.mitk.org/2023.04/BuildInstructionsPage.html
https://blog.csdn.net/linyiyang8475/article/details/120903974

一、需要软件

本文使用的软件有:MITK-2021.02(更新的版本也可以)、Visual Studio Professional 2017、QT5.12.9、OpenSSL1.1.0、Git2.41.0、CMake3.26.3、NotePad++、VPN软件、qt-vsaddin-msvc2017-2.5.2-rev.01.vsix。其中QT安装工具里就可以安装OpenSSL,如果自己安装OpenSSL,一定不要下载OpenSSL3.x.x版本(原因文章中会说明)。QT的版本只能选择QT5,Git、CMake的版本没有限制,最近的版本即可。下面的安装步骤可能看起来比较繁杂,但是实际安装是很简单的。本篇文章写于2023年7月,操作系统Windows11。

1.1 MITK-2021.02源码下载和目录构建

GitHub上源码下载地址:https://github.com/MITK/MITK
在这里插入图片描述
下载好后构建文件目录,一定要放在磁盘的根目录下(如果路径太长,会导致后面ITK编译失败),我是在C盘下创建MITK文件夹,MITK文件夹下解压源码,并且新建build文件夹(留着存放后续CMake编译生成文件的目录),目录结构如下图:
在这里插入图片描述

1.2 QT5.12.9和OpenSSL安装

网上有非常多的QT安装教程(可以使用国内的源或者使用VPN),这里不再赘述。
Qt5.12.9需要的组件为MSVC 2017 64-bit(跟VS版本对应,本文用的是VS2017,所以选择MSVC 2017)、Qt WebEngine、Qt Script,这三个组件是必选的(只要是Qt5并且包含这三个组件就行,MSVC根据使用的VS版本选择即可),如下图:
在这里插入图片描述

OpenSSL是安装MITK非常重要的软件,也可以在Qt管理工具中一并安装OpenSSL1.1.1,如下图:
在这里插入图片描述

因为我的Qt是之前安装的,安装的时候还携带了其他组件,我并不清楚这些组件对安装MITK是否有用,建议也一并选中,如下图:
在这里插入图片描述

1.3 剩余软件安装

Git安装教程:https://blog.csdn.net/mukes/article/details/115693833
qt-vsaddin-msvc2017-2.5.2-rev.01.vsix下载地址:https://download.qt.io/official_releases/vsaddin/2.5.2/ 下载好后一直点击下一步即可。
VS2017、CMake、NotePad++的安装没有什么注意事项,跟着网上的教程安装即可。

二、CMake配置

2.1 前置准备

因为MITK的源码中很多文档格式是Unix的,这也是在编译过程中一直报错的根本原因,需要将一些文件的格式先转为windows的,操作如下:
在MITK源码目录下有一个CMakeExternals文件夹,进入到这个目录,找到里面所有的.patch文件(一共6个),如下图:
在这里插入图片描述
用Notepad++打开这些文件,点击视图—>显示符号—>显示所有字符,如下图:
在这里插入图片描述
之后点击编辑—>文档格式转换—>转为Windows(CR LF),之后可以看到换行符都从LF变成了CR LF,保存文件,如下图:
在这里插入图片描述
C:\MITK\MITK-2021.02\CMakeExternals下的6个.patch都需要这样操作,且一定要保存。
之后开启VPN(我用的是香港节点,稳定就行),网络环境一定要稳定,因为后面会使用Git下载非常非常多的文件。

2.2 正式开始

2.1的前置准备是重中之重!否则后面一定会失败。
打开CMake,设置源代码目录和构建目录,点击Configure,弹窗选择VS2017和x64,操作如下:
在这里插入图片描述
在这里插入图片描述
之后会出现Error in configuration process, project files may be invalid报错(Qt5_DIR-NOTFOUND),是因为没有找到Qt5的路径,手动配置一下路径即可,我的路径是C:/…/QT/5.12.9/msvc2017_64/lib/cmake/Qt5,继续点击Configure,如下图:
在这里插入图片描述
之后就没有报错了,点击Generate,成功界面如下:
在这里插入图片描述
成功以后会在C:\MITK\build目录下生成一个MITK-superbuild.sln文件,使用VS2017打开即可,或者在Cmake里点击Open Project也是打开这个文件。

三、MITK-superbuild生成

3.1 前置准备

确保网络环境稳定,到编译成功之前都要开着VPN。
接下来在生成的时候会使用Git下载大量文件。因为我开了VPN之后,电脑会自动开启代理服务器,导致Git无法下载文件,系统出现fatal: unable to access 'https 😕 /github. com/…/ ’ : Failed to connect to github.com port 443 after 21085 ms : Timed out 或者类似错误。所以需要先对Git进行一些简单的配置(我的电脑是第一次下载Git,如果您的电脑可以正常使用Git下载资源,请忽略该操作),操作如下:
参考文章:https://zhuanlan.zhihu.com/p/636418854
打开电脑设置—>搜索代理服务器设置—>手动设置代理—>编辑,如下图:

在这里插入图片描述
查看自己的代理IP地址和端口,如下图:
在这里插入图片描述
之后打开Git CMD,修改Git的网络设置(复制下面两行代码)

// 注意修改成自己的IP和端口号
git config --global http.proxy http://127.0.0.1:7890 
git config --global https.proxy http://127.0.0.1:7890

在这里插入图片描述

3.2 MITK-superbuild.sln的生成和错误解决

这一部分一定会出现大量的错误和警告,但是解决方法很简单,只需要解决警告里的C4819warning即可,而C4819警告就是2.1小节里提到的文档格式问题,从下面开始会消耗大量的时间(两三个小时,可能快可能慢),请确保网络环境稳定(全程开VPN),报错和警告具体如何解决会在下面详细介绍。
打开MITK-superbuild.sln后,VS的编译模式改成Release(用Debug模式也是一样的,两者的区别会在下文提到),之后右键ALL_BUILD—>点击Build,如下图:

在这里插入图片描述
在build结束以后,出现了大量的错误和警告,我这里是4个Errors和两百多个Warnings,如下图:
在这里插入图片描述
不过Errors和Warnings就算再多也不需要担心,忽略错误选项,只看Warnings里的C4819警告,找到文件所在位置,如下图:
在这里插入图片描述
找到以后,使用notepad++打开该文件,把文档格式转换为Windows(CR LF),保存,重复该操作,把所有的C4819警告对应的文件的格式都改为Windows(CR LF),其他的警告和错误都不要管,之后继续右键ALL BUILD—>Rebuild,重新生成,等待一段时间。(在VS里点击文件的时候可能会出现该文件正在被其他出现使用的弹窗,不用管,继续打开,之后修改文件格式以后VS也会出现文件被更改的弹窗,全部同意重新加载就行)。再次Build完成之后,还会有Errors和Warnings,这时候操作还是一样的,只解决C4819警告。一直重复这个过程(可能需要Rebuild3、4次),直到只剩下一点点C4819Warning和C2220Error:error C2220: warning treated as error - no ‘object’ file generated [C:\MITK\build\MITK-build\Modules\Core\MitkCore.vcxproj](如果有除C2220以外的错误一直解决不了,那么去查看2.1小节里的.patch文件是否是windows格式,如果不是,将文件转为windows格式,重新生成。如果.patch文件格式没有问题,那么MSB6006的报错也可以忽略掉),如下图:
在这里插入图片描述
到这一步就可以关闭VS2017了。

四、CMake生成MITK-Build

设置CMake的源码目录和build目录,源码目录不变,build目录改成C:/MITK/build/MITK-build(MITK-build目录是之前生成的),之后点击Configure和Generate(如果Configure没有问题,就说明上面VS报错是不影响的),如下图:
在这里插入图片描述

五、MITK.sln生成

打开build下的MITK-build目录里面的MITK.sln,在第四部分Cmake里直接点击Open Project打开的也是MITK.sln
在这里插入图片描述
选择编译模式为Release,右键ALL_BUILD—>点击Build,如下图:
在这里插入图片描述
之后会出现C2220和LNK1181错误,如下图:
在这里插入图片描述
这边就不需要再像上面那样去处理C4819警告了(但是前面不处理C4819警告是没法到这一步的),这里只需要解决C2220错误即可。现在的话就可以说一下到目前为止出现这么多错误的原因了,根本原因就是文件格式问题,然后VS把这些文件的警告当成错误处理了,那么解决方法就很简单了,忽略这些警告就可以了,但是在之前的页面我找不到对应项目,不知道如何忽略这些警告,而在这里就具体到每一个项目了,所以可以挨个操作。操作方法如下:
找到所有C2220错误—>找到错误对应项目的名称—>在左边一栏找到对应项目—>右键—>属性—>Configuration Properties—>C/C+±–>Treat Warnings As Errors 选择No,如下面两张图:
在这里插入图片描述
在这里插入图片描述
之后对所有的C2220错误都这样操作,然后重新生成ALL_BUILD。重复该操作,直到最后全部成功。如下图:
在这里插入图片描述
之后在C:\MITK\build\MITK-build\bin目录下打开startMitkWorkbench_release.bat文件,窗口如下。
在这里插入图片描述
安装成功。

六、总结

只要软件备齐、VPN稳定、解决文档格式问题,还是可以很快就安装成功的。总体的思路就是修改2.1节里6个.patch文件的格式,之后只解决C4819Warning和C2220Error。我尝试安装了多个版本的MITK,在安装MITK2023-04版本也同样适用。

七、其他可能的错误和说明

Qt

如果Qt缺少Qt WebEngine、Qt Script组件,在CMake里会出现Qt5Script_DIR_NOT_FOUND和Qt5WebEngineCore_DIR_NOT_FOUND错误。
下载这两个组件就可以

OpenSSL

如果没有OpenSSL,CMake里LIB_EAY_DEBUG、LIB_EAY_RELEASE、SSL_EAY_DEBUG、SSL_LAY_RLLLASL会出现错误。下载OpenSSL即可,但是最好在Qt管理工具里下载,自己下载的话也选择OpenSSL1.1.1版本,自己安装的链接在这(是其他博主分享的网盘):百度网盘:https://pan.baidu.com/s/1RkRa8IQqRUHCQqbZT_FZKg 提取码:6666。
我之前使用OpenSSL3.1.1出现的错误为C2065:RSA SSLV23 PADDING’: undeclared identifier C/MITK-2021.10/build/ep/src/Poco-build/Crypto/Crypto.voxproj),如下图。其中MSB6006和MSB1009这两个错误在其他问题解决以后都会消失。
在这里插入图片描述
然后我根据C2065的错误找到了对应文件,里面有RSA_SSLV23_PADDING这个变量,错误原因也是这个引起的,如下图:
在这里插入图片描述
后来在网上找了很长时间,找到了这个问题所在,原因就是OpenSSL3.1.1不支持这个了,换成OpenSSL1.1版本就行
在这里插入图片描述

Debug和Release

编译的时候选择哪个模式都可以,遇到的问题和解决方案是一样的,只是最后运行的文件不一样,根据自己需要来。
在这里插入图片描述

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值