当前位置: 代码迷 >> 综合 >> VTK编译VS2013+Qt5.3.1+VTK6.3.0_32位
  详细解决方案

VTK编译VS2013+Qt5.3.1+VTK6.3.0_32位

热度:26   发布时间:2024-01-25 08:40:14.0

VTK编译 VS2013+Qt5.3.1+VTK6.3.0_32位

        • 环境
        • 准备VTK
        • 打开Cmake进行配置和生成工程
        • 配置VTK
        • 可能碰到什么问题
        • 参考链接

环境

  • Win10 64位
  • VS2013 (联网正常安装就好,反正设置了安装位置也是要占C盘很多空间)
  • Qt 5.3.1 32位 (qt软件和qt对应vs2013插件,若是安装qt64位,只需下载64位qt软件重装就行,插件不用动,再VS里可以选择用那个版本的qt。这俩都是正常安装)
    在这里插入图片描述
    上述两个qt安装完之后需要添加qt的环境变量 qt\5.3\msvc2013_opengl\bin 。
    在VS软件会看到QT5插件,选择里面的Qt Option选项,看里面是否有qt。没有添加重启计算机。
    在这里插入图片描述
    在这里插入图片描述
  • Cmack (记得安装的时候选择添加环境变量)
    上面软件已经安装好了

准备VTK

  • 官网下载地址 下载了两个版本的,先只编译6.3版本。
    在这里插入图片描述
  • 在自己本地新建一个文件夹,用于存放官网下载的某个版本解压的两个文件和Cmack之后生成的install工程文件(类似于从源码生成的适应你的平台的setup文件)
    在这里插入图片描述
  • 再新建这个文件用来存放从编译完的工程中提取出来的 .h .dll .lib文件。后面Cmake里会设置它的位置,这个文件的路径对应Cmake里的CMAKE_INSTALL_PREFIX变量
    在这里插入图片描述

打开Cmake进行配置和生成工程

  • 打开Cmake,选择源文件位置和Cmake后生成的项目的位置,点击Configure。
    在这里插入图片描述
  • 之后会让选择用那个平台编译,编译成多少位的。我们选择VS2013,后面啥也不加是32位,加64是64位的,可根据自己需要来选择。
    在这里插入图片描述
  • 之后会出现红的,让自行选择几何选项然后Configure。这里有几个选项:
    BUILD_EXAMPLES 编译例子
    BUILD_SHARED_LIBIRARES 勾选,此为是否编译动态链接库,选择编译。
    BUILD_TESTING 编译测试
    CMAKE_INSTALL_PREFIX 这个是编译出那些 .h .dll .lib文件存放的位置,也就是别的电脑想用VTK不经过编译直接拿这个文件就好。默认在C盘,我把它位置改成自己之前新建的那个文件夹。
    VTK_Group_Qt 和QT

在这里插入图片描述

  • 会提示出错
    在这里插入图片描述
  • 把QT版本改成5,同时点击Add Entry添加Qt的安装位置:Name选择CMAKE_PREFIX_PATH(这是固定的变量名称),Type是PATH,Value是Qt的安装位置。再次点Configure。
    在这里插入图片描述
    在这里插入图片描述
  • 会出现一堆红色,再次点Configure就好了。在这里插入图片描述
  • 都变白之后,点击Generate。就好了。这时候会发现之前建立的用于存放Cmake后项目的文件 vtk-6.3.0-bin 里有了一堆。

在这里插入图片描述
在这里插入图片描述

  • 以管理员身份运行VS,打开VTK.sln解决方案。
    在这里插入图片描述
  • 因为当时Cmake的时候选择的是VS2013_32位的,所以这里是32位编译方式,选择64位好像也不会成功。好像需要在Cmake的时候改。先Debug模式下生成解决方案。
    在这里插入图片描述
  • 我这里跳过的两个。。。不知道。。。迷(@_@)
    在这里插入图片描述
  • 编译完成后,对应的Debug库会生成如图所示的文件。
    在这里插入图片描述
  • 如果想把头文件,动态链接库提取出来,提取到之前Cmake设置的 CMAKE_INSTALL_OREFIX对应的文件目录下。则 INSTALL→仅用于项目→仅生成INSTALL
    在这里插入图片描述
  • 则会在之前设置的那个文件目录VTK2013_32下出现下图文件夹。这就是编译完的库的位置,之后不重新编译,只需要挪动这个库,对应添加环境变量,配置项目里的包含目录,库目录,依赖项就好。
    在这里插入图片描述
  • 在Reslease下 只生成QVTKWidgetPlugun这个工程。在E:\VTK6.3.0\VTK-6.3.0-bin\bin\Release路径下找到QVTKWidgetPlugun.dll文件和E:\VTK6.3.0\VTK-6.3.0-bin\lib\Release路径下找到QVTKWidgetPlugun.lib文件,拷贝到D:\Qt\Qt5.3.1\5.3\msvc2013_opengl\plugins\designer路径下。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 添加环境变量:把这个路径 E:\VTK2013_32\bin 添加到系统环境变量中。

配置VTK

在工程里配置包含目录、库目录、附加依赖项这三个就好了。

可能碰到什么问题

配置完之后,可能碰到运行测试例子时候,出错:

  • error LNK1181: 无法打开输入文件“.obj” 看看链接库里的内容写的对不对。
  • error: no override found for :
//slove1#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL);VTK_MODULE_INIT(vtkInteractionStyle);
//slove2#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

参考链接

VTK图形开发进阶

Error:no override found for “vtkRenderer”/“vtkImageMapper”

【编译好了工程里的配置】VS2013配置ITK4.8.0,VTK6.3.0

【重要重要!!!】VTK6.2&6.3+VS2013+QT5编译配置(从头到尾)

VTK安装 win10+VS2017+VTK8.1.2+QT5.12编译安装
vs2013+vtk6.3.0+Qt5.4.1