配置:Win7(64bit)+VS2013+VTK700+QT5

  (为了编译适应所用工业设备32bit,所有编译凑在32bit下进行)

  预安装:

  (1)安装CMake软件,用于编译重构VTK源文件,编译后生成适用于VS2013编译的目录结构

  (2)下载VTK源码,选用VTK7.00,采用最新版的

1.  CMAKE编译VTK源码

  (1)解压缩源码

      把

  (2)新建编译文件夹VTK_Build

  

  (3)打开CMAKE的GUI界面,在Sourcecode, binaries界面,分别定位到源文件VTK-7.0.0, 与编译路径VTK_Build

  因为我的QT版本是32bit版本,所以把vtk也编译成32bit debug版本

  

  

  注意在勾选条目中:

  1. 使用默认的设置,做少许的修改,因为默认配置比较配套,这样可以

  

  config过程:出现的warnning 可以忽略

  generating: 后

  

2. 生成适用于VS2013编译环境目录,用VS2013打开sln文件

  

3.生成VTK

(1)打开D:\VTKv7-build下的VTK.sln,右键点击ALL_BUILD,选择重新生成,该步骤耗时较长。
第一次生成后会有一些链接错误,比如打不开..\..\lib\Debug下的vtkViewsInfovisPython27D-7.1.lib文件,可能是由于生成顺序导致,因此再生成一遍,可以减少一部分错误。
可能还会出现其他错误,但是,原因还不清楚不会,暂时
 
在VTK_Build 文件夹下面生成编译后的文件,bin\Debug\
如果之前选中编译例子,则生成了可执行的例子文件
 

 
(2)生成成功后找到INSTALL项目,这个目录是是在编译项目后,VTK自动生成的项目
右击选择仅用于项目->仅生成INSTALL,
会在CMAKE_INSTALL_PREFIX设置的目录下:C:\Program Files\VTK  生成include目录,包含VTK需要的头文件。
 
如果想把VTK相关的头文件.h,动态链接库文件dll等文件提取出来,以便用于其他项目路的开发,则需要在“解决方案编辑管理器”中编译INSTALL工程。
则VTK里面的所有头文件以及相关的库文件等都会被提取到CMAKE_INSTALL_PREFIX(默认:C:\Program Files\VTK )中,
 
  

       成功

  

  在C:\Program Files\VTK输出可以安装其他项目中的VTK文件

  如果是在32bit编译,则将会在C:\Program Files (x86)\VTK下生成输出文件:

  

  把:

  lib 通过附加目录添加工程

  (1)配置lib库目录

  

  (2)添加依赖项

    把项目中需要VTK模块可能用到的lib添加到:“附加依赖项”

这里存在一个技巧,由于VTK的.lib文件太多,一个个手动输入太慢,我们启动命令行CMD,并进入到F:\VTK\Lib目录下,

输入dir *.lib /w 命令,就可以查看所有的lib文件,进一步,我们把结果保存到一个文本文件中,

输入dir *.lib /w > F:\VTK\vtk-libs.txt命令就可以了,之后打开这个文本文件,把lib文件的名称复制一下,

  在当前目录位置,按着shift + 鼠标右键,出现在此处打开命令行,

贴到下图中的方框中即可。

  include:附加目录添加

    

  bin:dll文件

  通过修改系统环境变脸,让编译器能够找到:

  

在VTK_DEBUG属性页下的链接器|输入|附加依赖项中添加F:\VTK\lib目录下所有的.lib文件的全名,

 
 

VTK7.0.0编译安装心得的更多相关文章

  1. 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)

    在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...

  2. hadoop-2.2.0 的编译安装及HA配置

    一 准备工作 准备工作中要求有 1.centOs 6.4,添加hadoop用户,配置集群内的/etc/hosts文件. 2.安装hadoop用户的ssh,并打通集群内所有机器,(ha执行fencing ...

  3. Mapnik 3.0.20编译安装

    1. 确定epel安装 yum install -y epel-release 2. 按照<CentOS7.2部署node-mapnik>一文中的步骤,手动安装 gcc-6.2.0 和 b ...

  4. hadoop2.2.0 centos 编译安装详解

    http://blog.csdn.net/w13770269691/article/details/16883663 废话不讲,直切正题. 搭建环境:Centos x 6.4 64bit 1.安装JD ...

  5. Apache Mesos1.0.1 编译安装部署教程(ubuntu)

    参考资料 官方文档:http://mesos.apache.org/documentation 中文翻译:http://mesos.mydoc.io/ GitHub:https://github.co ...

  6. 一文吃透zabbix4.0的编译安装,最全最详细的安装。

    什么是zabbix? zabbix作为一款企业级,开源的,分布式的监控套件,解决了以往监控软件的短板,可以说是现在流行的监控解决方案之一. 监控系统的理想化模样 1.监控数据收集及可视化. 2.数据要 ...

  7. linux下Mysql 8.0.19 编译安装

    1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这 ...

  8. mysql-shell for GreatSQL 8.0.27编译安装及使用

    目录 0. 前言 1. 修改说明 2. 编译mysql-shell 2.1 环境准备 2.2 开始编译mysql & mysql-shell 2.3 利用patchelf修改mysqlsh二进 ...

  9. Redis简介及3.0.2编译安装

    由于项目需要Redis作为内存数据库,所以也开始搞Redis~ Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).l ...

随机推荐

  1. 迷你MVVM框架 avalonjs 学习教程16、过滤器

    avalon的过滤器是参考自angular与rivets.它也被称做管道文本过滤器,它的处理对象只能是文本(字符串),它只能用在文本绑定中,并且只能是双花括号形式.下面是各大家的过滤器比较: rive ...

  2. 机房servlet过滤器

    1.源代码 loginform.html <html> <head> <title>使用过滤器改变请求编码</title> <meta http- ...

  3. java并发:volatile关键字

    java并发需要保证原子性,可见性,有序性. http://www.cnblogs.com/expiator/p/9226775.html 一.volatile关键字作用如下: 1.volatile关 ...

  4. 第七章 二叉搜索树 (d1)AVL树:重平衡

  5. nyoj528-找球号(三) 【位运算】

    http://acm.nyist.net/JudgeOnline/problem.php?pid=528 找球号(三) 时间限制:2000 ms  |  内存限制:3000 KB 难度:2   描述 ...

  6. hdoj1075-What Are You Talking About 【map】

    http://acm.hdu.edu.cn/showproblem.php?pid=1075 What Are You Talking About Time Limit: 10000/5000 MS ...

  7. Java中的Filter

    filter过滤器主要使用于前台向后台传递数据是的过滤操作.程度很简单就不说明了,直接给几个已经写好的代码: 一.使浏览器不缓存页面的过滤器 import javax.servlet.*; impor ...

  8. 【校招面试 之 C/C++】第10题 C++不在构造函数和析构函数中调用虚函数

    1.不要在构造函数中调用虚函数的原因 在概念上,构造函数的工作是为对象进行初始化.在构造函数完成之前,被构造的对象被认为“未完全生成”.当创建某个派生类的对象时,如果在它的基类的构造函数中调用虚函数, ...

  9. [leetcode]124. Binary Tree Maximum Path Sum二叉树最大路径和

    Given a non-empty binary tree, find the maximum path sum. For this problem, a path is defined as any ...

  10. struts2框架之OGNL表达式概述(在代码中使用OGNL表达式)

    1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通 ...