配置: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文件的全名,

 
 

最新文章

  1. js基础(改变透明度实现轮播图的算法)
  2. 【iOS】app的生命周期
  3. action script 3如何检测播放器域
  4. Mysql命令大全&&指定端口登录
  5. 文件字符读写函数fscanf()和 fgets() 比较
  6. C - 哗啦啦村的扩建
  7. css左右布局的几种实现方式和优缺点
  8. Android7.0 PowerManagerService 之亮灭屏(一)
  9. UVA - 242 线性DP
  10. git使用之错误分析及解决(持续更新)
  11. 简历HTML网页版
  12. Web前端-Vue.js必备框架(三)
  13. 一种提升连接Dynamics 365性能的方法
  14. Java多线程之控制执行顺序
  15. 跳跃表Skip List的原理
  16. shell编程学习笔记(十):Shell中的for循环
  17. macbook中vagrant升级新版本
  18. openldap slapd.conf参数
  19. 过虑器应用之1-设置request编码
  20. memcached配置 (初级)以及测试

热门文章

  1. Ansible Playbook 循环
  2. 将2020年交期的PR回写出来了
  3. java socket编程--聊天小案例
  4. 如何搭建hibernate框架
  5. JdbcTemplate实现CRUD操作
  6. C++,坑...
  7. runloop与线程的关系
  8. [leetcode]689. Maximum Sum of 3 Non-Overlapping Subarrays三个非重叠子数组的最大和
  9. 使用maven管理引入jdk1.8
  10. Adplus 抓取Crash Dump