一般都是用python 版的SimpleITK,因为项目需要集成到C++ Qt上,然后ITK用起来又不如SimpleITK方便,所有就编译了C++版的Sitk,下面记录下过程。
版本对应
SimpleITK 编译需要ITK ,而且不同版本需要对应不同的ITK,sitk 2.2.1 对应ITK 5.3.0 ,之前遇到的坑就是版本不对应,导致编译失败,所以要找好对应版本
编译
下载源码后,使用Cmake 编译,编译过程还算简单,主要是需要两个额外的工具,Lua 和SWIG,最好是提前下载好,cmake应该可以自动找到位置。
Lua https://www.lua.org/ftp/lua-5.3.4.tar.gz 可以自己编译,这个是编译好后的 https://download.csdn.net/download/wang6562009/89623452
SWIG: https://netactuate.dl.sourceforge.net/project/swig/swigwin/swigwin-4.1.1/swigwin-4.1.1.zip?viasf=1
下载完成后,开始编译
中间会有红色的warning ,不用管
这两取消掉,能看到具体哪里没有编译通过,这里看到SWIG 路径没选,手动选上,
如果不编译python C# java 版的,可以在这取消掉,加快点编译速度,也能避免没有安装python ,.net,java ,在build 时报错。
然后这两这样选
shared_libs 是生成dll, 不选Testing 就不需要GTest 了,加快build.
这里可以选择编译完成后,要放置的目录。
执行完成后,重新configure,基本上就没啥问题了。然后在Generate
打开项目,选择要编译的版本,我这里直接release + x64 了,没有生成debug 版
生成,经过一段时间的等待,就可以在选择的路径中看到生成的编译库了。
总结
本文提供了simpleITK的编译方法,希望能帮助到有需要的同学。