Advertisement

Windows下VTK+ITK+CMake+VS2015安装、运行例子中的错误以及解决

阅读量:

老师提供的程序让我进行了查看,在我的工作环境中被分发使用的工具包括ITK和VTK这些库软件包。在项目配置阶段,默认情况下CMake的原始版本设定为3.3,并且采用了64位架构设计以提高资源占用效率。

具体过程参考了https://max.book118.com/html/2017/0628/118556081.shtm

安装过程

无法打开包括文件"vtkEventQtSlotConnect.h"

无法打开包括文件"QVTKWidget.h"

除此之外,在整合 Qt 和 VTK 时也遇到了困难。对于这两个依赖项 Qt 和 VTK 的整合尝试失败归因于 VTK 在编译阶段未启用 Qt 支持功能。建议在重新编译过程中,请确保选择包含 Qt 的选项以完成必要的配置。

CMake不认识subcommand string(APPEND)

网上找到了这个,说明是CMake版本的问题,换了新版3.18就好了

在这里插入图片描述

生成VTK库时path使用未定义的QPainterPath

通常情况下来说,在错误的文件中包含有QPainterPath头文件时也会导致VTK和Qt版本之间存在不兼容性,并且这种情况下的程序运行就会成功地完成。

CMake Invalid escape sequence \p

CMake选择路径时一定要手选,不要复制!

我在编译VTK库时将CMAKE_INSTALL_PREFIX设置为复制指定的目录结构后发现存在问题,在VTKConfig.cmake文件中出现了如/once/或/again/这样的路径表示形式

在这里插入图片描述

跑例子过程

QT5 LNK2019无法解析的外部符号 之解决办法

删除debug文件夹(vs中点重新生成,moc不会重新生成),重新生成

QWidget: Must construct a QApplication before a QWidget

release和debug动态库调用混乱,改完要删除debug文件夹重新生成

VS2015检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1900”

1600和1900是VS的版本,1900是2015,1600是2010

问了导师才知道,他的ITK库编译选的是vs2010

文件已损坏

没注意把别的名称复制到依赖项里了,依赖项里要是lib文件

error C4996: 'std::copy::_Unchecked_iterators::_Depr

解决方案
在工程属性→C/C++→命令行→其他选项中添加:
-D_SCL_SECURE_NO_WARNINGS
完成后点击应用按钮

调试窗口一闪而过

属性-链接器-系统-子系统 选择控制台

vtkOutputWindow no override found for

复制代码
    #include "vtkAutoInit.h" 
    VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
    VTK_MODULE_INIT(vtkInteractionStyle);
    
    
      
      
      
      
    
    代码解释

全部评论 (0)

还没有任何评论哟~