源码编译系统安装-Windows系统下Build ITK-SNAP4.0源码编译

ITK-SNAP4.0源码编译及windows下安装

安装过程主要参考了两篇文章:

一个是官方文档

一个是CSDN上的3.8安装文档

1. 准备工作 1.1 安装环境

该环境仅供个人使用,可能与实际最低要求有所不同。

不过itk-snap是2022年6月更新的最新版本,建议使用最新环境。

所有64位:Python3.9.2、vs2019 16.11社区、qt6.2.2、cmake3.25、git2.38.1

看来我在安装过程中也遇到了python版本的问题。 看来还是需要python2的环境,规划阶段也可以配置python2。

另外,如果安装的是3.8版本,vs需要使用2017,否则最终编译不会成功,其他相关软件也需要增加版本。 该版本的itksnap需要itk5.2.1,itk需要qt6源码编译系统安装,qt6需​​要vs2019。

1.2 其他软件

除了上面提到的软件之外,还有VTK、ITK、cURL、HDF、OpenCV、OpenCL。

我个人使用的具体版本如下:

VTK9.1.0、ITK5.2.1、cURL7.86.0、hdf-1.10.6、opencv3.4.14、opencl2020.3.494

(本文部分图片使用的是ITK-SNAP3.8版本对应的软件版本,仅参考参数修改)

然后就是主角ITK-SNAP4.0的源码

1.3 文件夹结构

编译安装和源码包安装的区别_源码编译安装系统怎么用_源码编译系统安装

在安装过程中,一开始就默认存储了很多安装路径和文件存储,导致所有路径都混乱。 第一次安装过程中出现了很多错误,第二次安装时又重新画了一个新的c块。 下载完磁盘并固定文件路径后,也可以避免安装时出现遗漏,也可以更好地自己查找一些文件。

使用cmake编译上述软件时,可能会出现路径名过长的错误,所以前期需要对路径进行分类命名。

可能需要预留较大的空间。 我来回安装可能需要80G左右的空间(QT源码编译安装抢占了大部分),主要是编译后的文件量极大。

作者自己的分类方法如下,可以作为参考:

2.预安装2.1 vs2019

安装vs2019时,选择组件时注意勾选v142tools和cmake相关的组件。

如果你已经安装了vs2019,选择

菜单栏 --> 工具 --> 获取工具和功能 --> 各个组件

只需在这里搜索

2.2 QT、CURL、VTK、OpenCV 的安装 2.2.1 Cmake 安装说明

git cmake、python hdf5 opencl等都是直接点击setup一步步下载安装的,这里不再赘述。

接下来的安装过程最好按照QT->CURL->VTK->OpenCV->ITK->ITK-SNAP的顺序安装,主要是VTK需要QT的路径,而OpenCV中的参数需要填写VTK目录,ITK参数需要QT、VTK和OpenCV目录,ITK-SNAP需要QT、CURL、VTK、OpenCV、ITK路径。

Cmake的安装过程也很简单(以curl为例):

这里演示一下Cmake的使用和安装过程。 具体参数将包含在这一小部分中。 安装其他项目需要修改具体参数。

在“where is the source code”一栏中,选择源代码所在目录,即cmakelist.txt文件所在的文件夹。 在where to build the binaries中:选择刚刚创建的build目录,configure的内容将保存在该目录中。 选择后,点击配置。 第一次配置时需要选择generator

可能会报错,注意错误信息,同时将显示的白色参数全部更改和添加。 编辑完成后,点击configure,直到没有白色参数出现,下边框显示configuration down

配置好后,选择generate,出现generate down时,点击open project,进入工程文件。

进入项目文件后,首先选择ALL_BUILD项目右键生成,生成成功后选择INSTALL项目右键生成,这可能会花费很多时间。 如果没有问题,会安装在cmake阶段参数CMAKE_INSTALL_PREIFX指向的文件夹中,创建bin、include、lib等文件夹。

2.2.2 参数变更提醒【重要】

有一个参数叫BUILD_DOCUMENTS用于创建文档,你可以不选它,如果选了它,你需要其他软件dxygen才能运行。

VTK_GROUP_ENABLE_Qt:是

VTK_MODULE_ENABLE_VTK_GUISupportQtQuick:否

VTK_MODULE_ENABLE_VTK_GUISupportQtSQL:否

VTK_REQUIRED_OBJCXX_FLAGS :空字符串

Module_vtkGUISupportQT:是

勾选参数WITH_VTK后,configure会提示没有找到VTK_DIR,所以还应该添加该参数,使其指向VTK构建文件夹。

笔者这只绩优股遇到的问题大致就是这些。 如果以后发现新问题我会继续补充

2.3 ITK安装

编译itk的步骤和上面基本一样,单独放在这里是因为itk的参数可能需要填写qt、vtk、opencv的路径。

ITK的安装也应该在所有QT、VTK和OpenCV都成功生成并且INSTALL项目运行成功之后进行。

范围:

Module_MorphologicalContourInterpolation : TRUE

ITKVtk胶水检查

OpenCV_DIR 选择opencv的构建文件夹

ITKOpenJPEG 检查

ITKVideoBridgeOpenCV 检查

新建CMAKE_PREFIX_PATH参数,该参数指向QT安装目录的cmake模块,例如G:TKQTQT-installQT6.2.2msvc2019_x64libcmake

建议修改CMAKE_INSTALL_PREFIX路径,即自定义安装路径

配置以上参数修改后,会提示找不到某些DIR路径

VTK_目录

OPENCV_DIR

通过cmake构建生成后,打开vs并执行ALL_BUILD,然后运行INSTALL项目。

3. ITK-SNAP 3.1源码获取

从cmd cd 到后面创建的 itk-snap 文件夹

 git clone --recursive git@github.com:pyushkevich/itksnap.git itksnap

在使用git获取源代码时,可能会遇到无法从远程仓库读取的情况。 您可以直接重新生成ssh密钥并配置github帐户。

3.2 子模块

直接克隆的源码缺少子模块,所以需要获取该内容。

cd 进入刚才克隆源码的目录,使用以下命令:

git submodule init
git submodule update

3.3 cmake编译

cmake的流程与上面基本相同,主要是注意几个参数的变化

CMAKE_INSTALL_PREFIX :自定义为您自己的安装目录

CMAKE_PREFIX_PATH :添加此参数指向QT安装目录中的cmake模块

CURL_DIR ITK_DIR VTK_DIR OpenCV_DIR 可能需要设置,只需找到“build”目录即可

有可能遇到qt相关的参数。 qt版本选择我们安装的6。 然后,有些qt模块找不到该文件夹​​。 参考找到的路径在对应的目录中查找。

配置完成后,点击生成,然后打开项目

3.4 运行

构建 ALL_BUILD,

您可能会遇到几个错误。 虽然我遇到的是字符转码问题,但是少了一个冒号。 根据错误提示找到对应的文件源码编译系统安装,删除错误的字符并添加正确的冒号。

然后将ITK-SNAP的右键设置为启动项,并运行该项目。

要运行成功,可能需要将Opencv、itk、vtk、curl的buildbindebug目录下的dll文件复制到itk-snap-buildDebug目录下。

然后笔者遇到了一个长期存在的错误,即仍然报错LNK2019,并且找不到curl的相关函数。

解决方案:

右键项目属性-->链接器-->输入:在此接口的附加依赖上添加libcurl-d_imp.lib文件。 该文件应该位于curl的build文件夹下的lib/debug文件夹中。

解决此问题后,即可成功运行软件。