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

1. 编译环境

Visual Studio2017
python3.8.2
QT5.14.2
CMake3.24.2
OpenCL2020.3.494
hdf51.10.6
curl7.77
VTK6.3.0
OpenCV3.4.14
ITK4.12.2
ITK-SNAP3.8

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

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

图1

图2

2. CURL

首先在cmake中,source conde填源码目录build the binaries填build目录
在这里插入图片描述

图3

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

在这里插入图片描述

图4

第一次configure结束之后会出现大片红色,完成以下步骤
修改CAMKE_INSTALL_PREFIXcurl的prefix文件夹
再次configure,直到没有红色出现。
在这里插入图片描述

图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设为启动项,运行。
在这里插入图片描述

图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”

在这里插入图片描述

图8

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

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

在这里插入图片描述

图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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值