编译VS2022+Qt6编译ITK

环境设置

  • VS2022
  • Qt6.6.3
  • VTK9.3.0 (已完成)
  • ITK 5.3.0

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_EXAMPLES`和`BUILD_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目录的时候不小心给干掉了.

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值