Mitk之2021.2版本編譯記錄


前言

我在編譯 Mitk2018.4.2 版本失敗后,嘗試使用 Mitk2021 版本的編譯。

配置參數

  系統:Windows10_64
  IDE: Visual Stdio 2017 專業版
  Qt : Qt 5.12.9
  Python : Python 3.8.3
  配置工具: CMake 3.20.0-rc2、Git 2.28.0.windows.1
  三 方 庫: Boost 1.75.0、OpenSSL 1.1.0
  插    件:qt-vsaddin-msvc2017-2.5.2-rev.01.vsix

下載鏈接:
Visual Stdio 2017 專業版: 百度網盤:https://pan.baidu.com/s/1ZwmfkHPUO92VzWlsfKbcKA 提取碼:6666

Qt 5.12.9 : 百度網盤:https://pan.baidu.com/s/10-M6Jcm-rAntg7HTP0KRFg 提取碼:6666

Python 3.8.3 : 百度網盤:https://pan.baidu.com/s/1f_zEuSyQ7-zokaI5PhhmRw 提取碼:6666

CMake 3.20.0-rc2 : 百度網盤:https://pan.baidu.com/s/1BatYQ0XeKvO8SnmH0micMQ 提取碼:6666

Git 2.28.0.windows.1 : 百度網盤:https://pan.baidu.com/s/1fe_O-nUDkyun659PJZVhgg 提取碼:6666

Boost 1.75.0 : 百度網盤:https://pan.baidu.com/s/1jcgwuEiCilfAU4PFZ3Uh5g 提取碼:6666

OpenSSL 1.1.0 : 百度網盤:https://pan.baidu.com/s/1RkRa8IQqRUHCQqbZT_FZKg 提取碼:6666

qt-vsaddin-msvc2017-2.5.2-rev.01.vsix : https://download.qt.io/official_releases/vsaddin/2.5.2/qt-vsaddin-msvc2017-2.5.2-rev.01.vsix

一、下載 Mitk2018.4.2

下載 Mitk2018.4.2 源代碼: git: https://github.com/MITK/MITK.git
到目標路徑,並且拉去源代碼到本地 .../,執行 git clone https://github.com/MITK/MITK.git Src

二、CMake 配置 Mitk

  1. 新建 .../Src 同級目錄 BuildInstall,CMake 將源代碼構建成 Visual Stdio 2017 x64 項目到 Build,在編譯Mitk完成后,會將生成信息輸出到 Install

  2. CMake 時可能會報 QT5_DIR 沒有找到錯誤,指定 Qt 的 cmake 目錄即可,如 C:/Qt/Qt5.12.9/5.12.9/msvc2017_64/lib/cmake/Qt5,其他參數就不詳細介紹了

  3. 取消勾選 BUILD_TESTTING

  4. 勾選 MITK_BUILD_EXAMPLES

  5. 設置 CMAKE_INSTALL_PREFIX 值為 .../Install

三、構建 ALL_BUILD 項目

  1. 出現構建錯誤、忽略錯誤選項、過濾 C4819 警告,並且把 報 C4819 的文件保存為 Unicode pack 1200 格式后重新編譯,因為Mitk是在Liunx平台下開發的,所以字符編碼不同會造成 pache 出現不可預料的問題,在改完 C4819 警告后,此錯誤將消失

  2. 重新編譯后還是會報一些錯誤,C2220MSB600C4819 等,同樣先處理 C4819 警告后編譯

2.1 我遇到 CTKDCMQI 源代碼拉去失敗問題,這個可以直接使用 git 拉下來,我感覺這樣快一點
拉取 CTK,首先到 .../Build/ep/tmp/CTK-download-repoinfo.txt,里面有 CTK 拉取鏈接,這個鏈接每個版本都不一樣
git clone https://github.com/commontk/CTK .../Build/ep/src/CTK

同樣,找到.../Build/ep/tmp/CTK-download-repoinfo.txt 拉取 DCMQI
git clone https://github.com/QIICR/dcmqi.git .../Build/ep/src/DCMQI

  1. 直到只剩下一個 MSB600 錯誤,這是由於 ITK 模塊拉去代碼失敗造成的,你可以翻個牆或者什么的,反正保證 git 下來的代碼在 G:/Mitk-2021/Build/ep/src/ITK/Modules/Remote/IsotropicWavelets 里面就可以了

  2. 然后生成 MITK-build 項目,注意,ITK 模塊編譯好之后千萬不要再構建 ALL_BUILD 項目,因為 MITK_BUILD 會構建所有的模塊,而 MITK-build 只會去鏈接那些子模塊,所以不會再報 ITK 錯誤

  3. 我這里就沒有遇到問題了,構建成功后,驗證 Mitk 是否成功編譯,你可以在 .../Build/MITK-build/bin/ 下找到 startMitkWorkbench_release.bat,雙擊運行出現一下界面就表示編譯成功了

總結

不管遇到什么錯誤,都優先解決 C4819 警告,在業內字符集一直都是頭疼的問題。如果字符集解決不了,在分析問題、解決問題
根據業務需求,我的vtk模塊需要設置VTK_MODULE_ENABLE_VTKDICOM: YES,嗨呀,返工加上vtkDICOMReader。。。
Mitk2021.2 版本確實是比 Mitk2018.4.2 要簡單很多,后續我會繼續嘗試編譯 Mitk2018.4.2 版本,如果你對此感興趣,你可以去我的博客里查看相關隨筆


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM