VTK(一)vtk5.8 +vs2010。安装总结

一。关于解压安装
1.安装vtk-win32.exe,安装到d:\vtk,目录尽量短,因为后面引用更方便。
2.将vtk源代码解压到d:\vtk\sourcecode
3.下载vtkdata.zip,这是vtk例子所需要的数据,解压到d:\vtk\vtkdata
4.安装cmake
5.安装Visual Studio 2010
6.解压cmake.运行bin/cmakeGUI
 
二。关于CMake的操作。。
7.在第一个文本框“where is the source code”中选择“D:/VTK/sourcecode”目录。
8.在第二个文本框“where to build the binaries”中选择输出目录,如:“d:/vtk/bin”
9.点击“configure”按钮,选择“visual studio 10”(vs2010),然后,cmake 就会对系统举行扫描了,停下来之后,我们就可以修改cmake选项了。扫描的历程中不能出现不论什么错误,不论什么错误都会导致后来编译VTK.dsw的错误,纵然能够扫描完成。有错误的话,就要把D:\vtk\bin\目录下除vtk.exe以外的所有文件和文件夹删除,重新configure。
 
需要勾选选项包括:
10.查看列表中的选项,vtk_data_root,浏览到例子数据所在位置,如“d:\vtk\vtkdata”
11.build_examples:勾选上则编译例子,
12.build_testing: 勾选上则编译测试代码,也是例子
13.vtk_use_parallel:勾选
14.build_shared_libs: 设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system目录下。要是用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,要是用动态库编程, 即on时,应用程序必须找到动态库才能运行,但尺寸可以做得比较小。
15.vtk_use_guisupport:点击“Advanced”选项,找到vtk_use_guisupport, 很多人把vtk 安装好了,却无法运行vtk 中与mfc 混合编程的例子,提示错误都是缺少vtkmfc.lib,问题就出在这个选项,我们必须把它设置为 on,再configure 之后,会出现一个新的选项vtk_use_mfc,把它也设置为on
16.修改完cmake 选项以后,不停的按configure 按键,直到没有选项预示为红色
17.点击“Generate”按钮,在bin目录下生成vtk.sln等文件。
 
为啥需要勾选这些??随便看看
      1、为什么要勾选vtk_use_mfc? 很多人把 vtk 安装好了,却无法运行vtk 中与mfc
       混合编程的例子,提示错误都是缺少vtkmfc.lib,问题就出在这个选项,我们必须
       把它设置为 on。

      2、vtk_use_qvtk,这是给QT用的vtk

      3、vtk_data_root: 目的是告诉cmake,vtk 需要的数据都在哪里,我们的数据在
      F:\Dev\SDK\VTK5.8\VTKData

      4、cmake_install_prefix: 这个是指定一个目录把.h .lib .dll等精华放在这里,
      "VTK安装三步曲"里说是为将来装vtk做准备。

      5、build_examples: 就是询问是否编译 vtk 中的例子,初次用VTK,选上便于
      学习。

      6、build_shared_libs: 如果设置为off,就只会生成lib文件,用于开发肯定是
      够了。如果设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system
      目录下。如果用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,
      如果用动态库编程,即on时,应用程序必须找到动态库才能运行,但尺寸可以做
      得比较小。建议选On, 我试过选OFF,所谓的静态编译,但之后新建一个项目时,
      还是会出现找不到文件的问题。

      7.vtk_use_parallel: 对于想用vtk 做并行计算的朋友,要把这个选上,
      对于只想学学vtk 的,保持默认 off  
      
 
三。关于vs2010编译工程文件
打开vtk.sln。加载一段时间,由于编译耗时很久。。为防止出现可能的错误,首先需要修改一些文件和配置:共需要修改两个错误。
step1:
错误一:是由于windows的IE版真相对vs2008过低,提示sdk中一个错误
fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.

①  找到sourecode\GUISupport\MFC\vtkMFCWindow.cpp ,找到类似以下源码并修改数值如下:

#ifndef WINVER
#define WINVER 0x0501
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501 // =_WIN32_WINNT_NT4
#endif
#ifndef _WIN32_IE
#define _WIN32_IE 0x0601 //=_WIN32_IE_IE60SP1
#endif

②如果之前Cmake勾选了 build_examples,工程中含有VKT的examples,仅改上面代码还不够,还需要找到以下4个文件

 sourecode\Examples\GUI\Win32\vtkMFC\vtkDLG\stdafx.h
 sourecode\Examples\GUI\Win32\vtkMFC\vtkMDI\stdafx.h
 sourecode\Examples\GUI\Win32\vtkMFC\vtkSDI\stdafx.h
 sourecode\Examples\GUI\Win32\SampleMFC\stdafx.h

找到类似以下源码部分,并修改数值如下:

#ifndef WINVER        
#define WINVER 0x0501    
#endif

#ifndef _WIN32_WINNT    
#define _WIN32_WINNT 0x0501    
#endif            

#if _MSC_VER >= 1300
#ifndef _WIN32_WINDOWS    
#define _WIN32_WINDOWS 0x0501 
#endif
#endif

#ifndef _WIN32_IE      
#define _WIN32_IE 0x0601  
#endif

step2错误二:

如果之前Cmake勾选了 build_examples,工程中含有VKT的examples,在编译过程中,以下四个项目vtkDLG、vtkMDI、vtkSDI、Win32SampleMFC,可能还会出现类似下面的LINK链接错误:称找不到vtkIO.dll

error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class...

修改方法:

对于这四个项目选择“项目->属性->链接器->输入->附加依赖项->(编辑)”复制粘贴下面的路径。

以此添加入vtkIO.lib库(名称参考上面的vtksys.lib即可)这里路径为:.

..\..\..\..\..\bin\Debug\vtkIO.lib
至此,修改参数完毕。编译应该不会有错误了。
 
step3:
 
18.用Visual Studio 2010编译bin 目录下的VTK.sln文件,生成解决方案,时间较长。结果保存在. D:\vtk\bin\bin目录下。
19.将D:\vtk\bin\bin\debug这个文件夹选择此中所有的DLL 后缀的文件全部复制到c:\windows\system32 (调试时推荐),或者拷贝到VC项目可执行文件所在位置(安装到其他机器时拷贝)。
 
step4:执行一个例子。。cone6
右键cone6->调试->启动新实例-》是否重新生成***工程-》否-》结果如下图。
 
最后将D:\vtk\bin\bin\debug这个文件夹选择此中所有的DLL 后缀的文件全部复制到c:\windows\system32 (调试时推荐),或者拷贝到VC项目可执行文件所在位置(安装到其他机器时拷贝)。

转载于:https://www.cnblogs.com/luckystar-67/p/3259442.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值