编译ITK

CMAKE配置

  1. 下载itk的源码和数据包. 包括源代码和数据文件.
  2. 解压缩源码包和数据包, 两个都会被解压缩到同一个目录中. 数据包被解压缩到.ExternalData里面了. 和VTK一样的
  3. 创建用于build的itk目录和用于install的目录. 最好将它们分别建立.
  4. 运行cmake gui软件, 指定itk的源码目录和build目录, 并指定编译工具为VS2022, 指定编译为x64平台. 再执行配置
  5. 寻找CMAKE_INSTALL_PREFIX,这个指定的是ITK的安装根目录, 将其设置为刚才创建的安装目录
  6. 选中BUILD_SHARED_LIBS,以编译DLL. 勾选BUILD_EXAMPLESBUILD_TESTING,我们主要是为了能生成测试数据。按照VTK的经验,必须将这两个都勾上才行(是否如此有待验证)
  7. 寻找Module_ITKVtkGlue,并选中它, 然后继续配置. cmake会报错, 找不到Qt的目录
  8. 寻找Qt6_DIR, 设置为Qt6的目录, 在我这里安装的是Qt6.6.3,所以,默认的位置在C:/Qt/6.6.3/msvc2019_64/lib/cmake/Qt6. 然后继续配置, 仍然会报错
  9. 这次是Qt6CoreTools_DIR找不到. 这个目录以前Qt5是没有的, 设置一下就可以: C:\Qt\6.6.3\msvc2019_64\lib\cmake\Qt6CoreTools. 然后继续配置. 还是会报错.
  10. 这次是Qt6GuiTools_DIR找不到, 这个目录也是Qt6新增的, Qt5里面没有. 反正Qt6都出来这么多年了, 不管是Qt还是ITK, VTK, 出现这种烂事很奇怪的. 也手工指定一下: C:\Qt\6.6.3\msvc2019_64\lib\cmake\Qt6CoreTools. 继续配置. 现在就好了. 然后生成解决方案就可以了.

编译

  1. 如果使用了Qt6, 选择ALL_BUILD, 将C++标准改为C++17或更高. 否则保持默认值(C++14)就可以.
  2. 编译ALL_BUILD
  3. 选择INSTALL, 选择生成, 会安装到前面创建的安装目录中.

注意, 我们前面选中了编译Example和testing, 还会生成数据, 它们都不会被安装. 其中, 编译出来的exe文件都在build目录的bin目录下, 数据在build目录的ExternalData下面. example的执行程序没啥价值, 数据是有用的, 注意保存到别处, 免得以后删除build目录的时候不小心给干掉了.