Cmake编译itk_snap

1.CMake编译ITK-SNAP
Github上最新版的ITK-SNAP缺少Submodules里面的内容,因此需要用Github命令行工具,进入ITK-SNAP源码目录,使用如下命令更新:
git submodule init
git submodule update
此外还需要OpenCV,ITK以及ITKOpenCVBridge的支持,因此需要先对ITK进行编译,加入OPENCV_DIR,并且选中模块Module_ITKVideoBridgeOpenCV,编译后在ITK中生成相应模块。
为了避免出现VTK和QT相关错误,最好根据Building ITK-SNAP选择第三方库的版本,即VTK6.3.0,QT5以上,不要选择SNAP_WITH_QT4。
因此对ITK中的ITKVtkGlue模块而言,如果之前不是用VTK6.3.0的话,需要在CMake中修改VTK_DIR为VTK6.3.0-build目录重新编译生成,然后再编译ITK-SNAP,这样在ITK-SNAP中,自动会配置好跟VTK6.3.0相关的属性。
CMake编译ITK-SNAP,需要选择ITK_DIR,OPENCV_DIR,QT的qmake.exe路径进行编译。
2.生成ITK-SNAP
打开SNAP.sln生成工程,D:\ITK-SNAP\SNAPCommon.cxx总是存在缺少引号的错误,需要补全右半部分:
// Build date - shown to help debugging nightly builds
const char SNAPBuildDate[] = "2017/03/20?";
至此生成成功,运行即可。
3.错误分析
1.D:\itk-snap-src\GUI\Qt\Components\SNAPQtCommon.cxx(560): error C2146: 语法错误: 缺少“)”(在标识符“Ctrl”的前面)
经过在网上搜索SNAPQtCommon.cxx文件可知,其中前半部分均是乱码,而工程中打开的有些用QChar()转换了,出错地方没有,暂时先注释掉,忽略该错误,待以后有问题再详细解决。
2.找不到vtk相关的.dll文件
在Path中加入.dll所在目录,比如:D:\VTK-6.3.0-build\bin\Debug
3.itksnapui_model.lib和itksnapui_qt.lib无法LINK到vtk相关的
找到相关项目,配置附加库目录为vtk6.3.0的lib目录,附加依赖项itksnapui_model加入
vtkCommonCore-6.3.lib;vtkRenderingCore-6.3.lib;
itksnapui_qt只需加入
vtkCommonCore-6.3.lib
 

你可能感兴趣的:(C++)