一、版本

  win10

  VS2019

  VTK8.2.0

  其实vtk的安装过程和itk的安装过程很是类似,如果你对itk的安装很是熟悉(也就是我的博客一里面的内容,那么自己就可以安装。)

  如果不放心,可以接着往下看

二、过程

 1-下载

  访问 https://vtk.org/ ,下载vtk8.2.0.zip

 2、解压到一个文件夹

  然后新建两个文件夹,分别是VTK-install 和 VTKprefix

 3-打开cmake,编译

  

  <1>设置文件夹路径如图,第一个是原文件,第二个是编译之后的二进制文件存放位置

  <2>然后点击configure

  

  点击之后等到已经结束

  <3>在红色区域里面找到BUILT_EXAMPLES,勾选上去:

  

  <4>之后修改CMAKE部分的一个选项:

  

  将这个路径更改为我们之前修建的VTK-prefix

  <5>之后重新点击Configure

  <6>等到界面全部变成了白色以后(如果有一两项是红色多点几次Configure),点击Generate

  <7>点击Open project

  

  整个时候整个的函数库就已经在VS里面打开了

 4-VS里面编译

  实际上这个时候所有的文件已经在VTK-bin文件夹里面,但是还没有编译,我们需要重新生成

  在VS界面右侧找到ALL_BUILD

  

  然后右键,选择设为启动项目。

  然后右键,选择生成解决方案。

  

  这个时候等待时间比较久。

  然后选择工程里面的INSLATT项目:

  

  放在INSTALL上面,然后右键,选择仅项目-仅生成INSTALL

  

  这个时候VTK-prefix文件夹里面就存在文件了(这也是我们主要使用的文件)。

三、验证

 1-例子验证

  找到Cube这个工程,然后设置为启动项目,再运行程序,这个时候程序已经完整运行,证明我们安装正确。

 2-自己构建例子

   2.1过程

  <1>重新构建一个空项目。

  <2>新建main.cpp

  并将cube里面的代码复制到main.cpp里面

  <3>配准属性表

  属性表的配置参考博客1ITK的安装与例子运行

  <4>设置程序模式为release X64

  <5>运行程序

    2.2、出现错误

  1、编译问题:

  

  解决办法:https://www.cnblogs.com/algs/p/11089754.html

  2、编译不再出问题,但是运行出问题

  显示错误:no override found for vtkpolydatamapper

  解决办法:https://blog.csdn.net/kaspar1992/article/details/57080724

  最后结果运行正常,显示出画面:

  

  3-下次如何构建新的工程

  1-建立工程以后,将上面第2步里面的属性表复制到本工程文件夹,然后在属性管理器里面添加这个属性表

  比如我的工程设置为这个模式:

  

  那么我只需要在这里添加就好了:

  

  其他的代码部分就是正常的,不用去管。

四、参考博客

  主要参考博客:https://blog.csdn.net/weixin_43981402/article/details/84845274

  问题一博客:https://www.cnblogs.com/algs/p/11089754.html

  问题二博客:https://blog.csdn.net/kaspar1992/article/details/57080724

  我的ITK安装博客:https://www.cnblogs.com/fantianliang/p/11937788.html

  vtk下载网址:https://vtk.org/download/

  

八、VTK安装并运行一个例子的更多相关文章

  1. hadoop安装后运行一个单实例(测试MapReduce程序)

    1.安装hadoop 解压hadoop-1.2.1-bin.tar.gz包   tar -zxvf hadoop-1.2.1-bin.tar.gz  /opt/modules/ 解压后在/opt/mo ...

  2. sparkR的一个运行的例子

    在sparkR在配置完成的基础上,本例采用Spark on yarn模式,介绍sparkR运行的一个例子. 在spark的安装目录下,/examples/src/main/r,有一个dataframe ...

  3. 让powershell同时只能运行一个脚本(进程互斥例子)

    powershell,mutex,互斥,进程互斥,脚本互斥 powershell脚本互斥例子,在powershell类别文章中,声明原创唯一. powershell 传教士 原创文章 2016-07- ...

  4. Visual Studio 2015 Update 1 成功安装后运行 “出现未能正确加载[XXXX]包,此问题可能是由配置更改或安装另一个扩展导致的。” 可能的解决方法

    作死装Visual Studio 2015 update 1.安装过程中虽然波澜不惊,但是安装之后运行回报未能正确安装[XXXX]包.找了半天,在stackoverflow中找到了相关的问题,在问题描 ...

  5. Eclipse下载安装并运行第一个Hello world(详细)

    Eclipse下载安装并运行第一个Hello world(详细) 1.下载安装和配置JDK JDK详细的安装教程参考:https://www.cnblogs.com/mxxbc/p/11845150. ...

  6. Docker安装以及运行第一个HelloWorld

      Docker安装以及运行第一个HelloWorld

  7. 在Kubernetes上运行SAP UI5应用(下): 一个例子体会Kubernetes内容器的高可用性和弹性伸缩

    上一篇文章 在Kubernetes上运行SAP UI5应用(上),我介绍了如何在Docker里运行一个简单的SAP UI5应用,并且已经成功地将一个包含了这个UI5应用的docker镜像上传到Dock ...

  8. [Linux][Hadoop] 运行WordCount例子

    紧接上篇,完成Hadoop的安装并跑起来之后,是该运行相关例子的时候了,而最简单最直接的例子就是HelloWorld式的WordCount例子.   参照博客进行运行:http://xiejiangl ...

  9. 【转】hive简介安装 配置常见问题和例子

    原文来自:  http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...

随机推荐

  1. 基于TCP协议之SSH

    #SSH客户端 import socket # 1. 创建符合TCp协议的手机 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # ...

  2. SpringBoot系列之集成logback实现日志打印(篇二)

    SpringBoot系列之集成logback实现日志打印(篇二) 基于上篇博客SpringBoot系列之集成logback实现日志打印(篇一)之后,再写一篇博客进行补充 logback是一款开源的日志 ...

  3. [ASP.NET Core 3框架揭秘] 配置[4]:将配置绑定为对象

    虽然应用程序可以直接利用通过IConfigurationBuilder对象创建的IConfiguration对象来提取配置数据,但是我们更倾向于将其转换成一个POCO对象,以面向对象的方式来使用配置, ...

  4. 批量SSH key-gen无密码登陆认证脚本

    SSH key-gen无密码登录认证脚本 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 通过 ssh-key-gen 来 ...

  5. JVM CPU Profiler技术原理及源码深度解析

    研发人员在遇到线上报警或需要优化系统性能时,常常需要分析程序运行行为和性能瓶颈.Profiling技术是一种在应用运行时收集程序相关信息的动态分析手段,常用的JVM Profiler可以从多个方面对程 ...

  6. RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

    恢复处于NOARCHIVELOG模式的数据库 当数据库处于NOARCHIVELOG模式时,如果出现介质故障 ,则最后一次备份之后对数据库所做的任何操作都将丢失.通过RMAN执行恢复时,只需要执行res ...

  7. Aery的UE4 C++游戏开发之旅(2)编码规范

    目录 C++基础类型规范 命名规范 头文件规范 字符串规范 字符集规范 参考 C++基础类型规范 由于PC.XBOX.PS4等各平台的C++基础类型大小可能不同(实际上绝大部分都是整型类型的大小不同) ...

  8. C#开发微信小程序(三)

    导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...

  9. PHP使用递归按层级查找数据

    今天主要介绍一下使用递归来按层级查找数据.原理挺简单的,主要是通过父级id一级一级的循环查找子级,使用PHP循环代码也很容易实现,不过如果层级越多,PHP重复代码也越多,这时可以使用递归来实现这功能. ...

  10. Http中URI协议 和URL协议的区别和联系

    虽然说URL和URI是整个网络协议栈很常用的东西.可是,假如你去面试求职者其中的差别,估计十个人有八个人答复不上来. 想要熟悉基础知识的朋友最好还是看一下我这个文章. “A Uniform Resou ...