Build ITK-SNAP3.8 Windows系统下编译

Build ITK-SNAP3.8 Windows系统下编译

  • 1. 编译环境
  • 2. CURL
  • 3. VTK
  • 4. OpenCV
  • 5. ITK
  • 6. ITK-SNAP
  • 7. 常见错误
      • 7.1 cmake中confgure时,没有提示补充VTK_DIR等,未出现需要勾选的项及需要取消勾选的项
      • 7.2 configure VTK 提示 WebKitWidgets_DIR not found
      • 7.3 VTK生成时报错 MSB6006:”cmd.exe” exited with code 1
      • 7.4 ITK-SNAP生成时,报错 MSB6003,指定的任务可执行文件“rc.exe”未能运行,文件名或扩展名太长
      • 7.5 ITK-SNAP生成时,报错MSB3073 命令“setlocal”
      • 7.6 运行ITK-SNAP报错,缺少ddl文件
  • 8. 参考博客

1. 编译环境

Visual Studio 2017
python 3.8.2
QT 5.14.2
CMake 3.24.2
OpenCL 2020.3.494
hdf5 1.10.6
curl 7.77
VTK 6.3.0
OpenCV 3.4.14
ITK 4.12.2
ITK-SNAP 3.8

以上,Visual Studio、python、QT、CMake、OpenCL、hdf5这几个软件正常安装即可。

新建卷,建立curl、VTK、OpenCV、ITK、snap文件夹(若不新建卷,ITK-SNAP生成解决方案时可能会因文件路径过长失败),并且个文件夹下分别创建build、prefix子文件夹,以curl为例,其子文件夹分别为build、prefix以及curl源码文件夹,如图2所示。
Build ITK-SNAP3.8 Windows系统下编译_第1张图片

图1

Build ITK-SNAP3.8 Windows系统下编译_第2张图片

图2

2. CURL

首先在cmake中,source conde填源码目录build the binaries填build目录
Build ITK-SNAP3.8 Windows系统下编译_第3张图片

图3

点击configure,选择vs2017,X64(64位电脑选择),如图4。

Build ITK-SNAP3.8 Windows系统下编译_第4张图片

图4

第一次configure结束之后会出现大片红色,完成以下步骤
修改CAMKE_INSTALL_PREFIXcurl的prefix文件夹
再次configure,直到没有红色出现。
Build ITK-SNAP3.8 Windows系统下编译_第5张图片

图5

configure done之后点击generate。
generate done之后点击open project。
在vs中右键all_build生成,之后右键install生成。

3. VTK

总体步骤同上,需注意在cmake中
修改CAMKE_INSTALL_PREFIXvtk的prefix文件夹
勾选VTK_Group_Qt
勾选Module_vtkGUISupportQt
修改Qt-Version为5

4. OpenCV

总体步骤同上,需注意在cmake中
修改CAMKE_INSTALL_PREFIXOpenCV的prefix文件夹
补充VTK_DIR为VTK的build文件夹
取消勾选OpenCV_viz

5. ITK

总体步骤同上,需注意在cmake中
修改CAMKE_INSTALL_PREFIXITK的prefix文件夹
勾选Module_MorphologicalContourInterpolation
勾选ITKVtkGlue
勾选ITKVideoBridgeOpenCV
勾选ITKOpenJPEG

补充OpenCV_DIR为OpenCV的build文件夹
补充VTK_DIR为VTK的build文件夹

6. ITK-SNAP

总体步骤同上,需注意在cmake中
修改CAMKE_INSTALL_PREFIXITK-SNAP的prefix文件夹
补充ITK_DIR为ITK的build文件夹
补充CURL_DIR为curl的build文件夹
补充CURL_INCLUDE_DIR为curl的源码下的incluude文件夹(如:D:/curl/curl/include)
补充CURL_LIBRARY_DEBUG为curl的build下libcurl-d_imp.lib文件的路径 (如:D:/curl/build/lib/Debug/libcurl-d_imp.lib)

generate done之后
以管理员身份打开VS,打开ITK-SNAPbuild文件夹下的SNAP.sln文件,右键all_build生成,之后右键install生成。

生成成功之后将Opencv、itk、vtk、curl ,build\Debug\bin目录下的 dll 拷贝到 ITK-SNAP的build\Debug目录下
右键将ITK-SNAP设为启动项,运行。
Build ITK-SNAP3.8 Windows系统下编译_第6张图片

图6

7. 常见错误

7.1 cmake中confgure时,没有提示补充VTK_DIR等,未出现需要勾选的项及需要取消勾选的项

出现此问题时,尝试多configure几次,检查前面所有的步骤是否有问题。

7.2 configure VTK 提示 WebKitWidgets_DIR not found

qt5的5.5之后,qt移除了Qtwebkitwidgets,并用webenginewidgets替代,所以如果提示没有找到这个文件夹,需要自己去下载Qtwebkitwidgets模块并放到该文件夹里,再手动配置该参数。
下载源:https://github.com/qtwebkit/qtwebkit/releases/tag/qtwebkit-5.212.0-alpha4
若后续还有报错,则按照提示,补充文件。

7.3 VTK生成时报错 MSB6006:”cmd.exe” exited with code 1

参考:VTK编译问题记录:error MSB6006:”cmd.exe” exited with code 1.

7.4 ITK-SNAP生成时,报错 MSB6003,指定的任务可执行文件“rc.exe”未能运行,文件名或扩展名太长

在这里插入图片描述

图7
笔者尝试了MIcorsoft建议的修改注册表+添加清单文件的方法,没有解决此问题。

解决方法:新建卷,文件夹名称改短,重新configure,generate,生成curl,OpenCV,VTK,ITK,ITK-SNAP,没有出现此问题。

7.5 ITK-SNAP生成时,报错MSB3073 命令“setlocal”

Build ITK-SNAP3.8 Windows系统下编译_第7张图片

图8

解决方法:权限问题,以管理员身份运行VS,打开SNAP.sln文件,再次生成即可。

7.6 运行ITK-SNAP报错,缺少ddl文件

Build ITK-SNAP3.8 Windows系统下编译_第8张图片

图9

解决方法:在新加卷中全局搜索该ddl文件,将其拷贝到 itk-snap-build\Debug 目录下,重新运行ITK-SNAP即可。

若未搜索到该ddl文件,则是curl,OpenCV,VTK,ITK,ITK-SNAP某个build环节中出现错误,建议从头排查一遍。

8. 参考博客

以下为笔者buidl ITK-SNAP3.8时,主要参考的博客
Build ITK-SNAP4.0 Windows系统下源码编译
ITK-0001 ITK-SNAP 3.8.0 编译
Cmake编译itk_snap

你可能感兴趣的:(opencv,图像处理)