VTK安装三步曲

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
VTK 安装三步曲
作者:希望(rinqar) 感谢:叶峰和梦絮的协助. 我是一个新手对于 VTK 我没有任何的经验,C++也几乎不懂.要想学习 VTK 就 要从认识他开始.而我们最开始需要做的就是安装 VTK.因为例子是我们学习的最 好的教材. 网上有很多关于 VTK 的安装方法,但说的都不是很系统.而且按照上面的安装 方法经常出错.主要原因是因为安装方法的不全与对 cmake 的配置不当所导致的,当 然也不排除有系统的原因. 我通过总结把 VTK 安装分为三步希望对刚刚学习 VTK 的 人有所帮助.尽量少走弯路.也希望大家对它的使用能够更进一步. 对 VTK 的介绍我就先不说了,我这里讲安装它的方法.其实对一个事物从了解 到使用需要一个过程,实践最为重要.所以当大家在使用的过程中了解这样才能够认 识它的实质. 第一步:下载并安装 vtk 首先从 VTK 的官方网站 https://www.360docs.net/doc/fe6873270.html, 的 Download 选项中下载: vtk-5.0.3.zip vtk 的源码 vtk 例子所需要的数据 果果 歪歪
vtkdata-5.0.3.zip
一般说来还有一个就是
Windows (Installer)
vtk-5.0.3-win32.exe
这个是否想下载随意. 然后下载 cmake 下载地址在 https://www.360docs.net/doc/fe6873270.html,/HTML/Index.html
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 1 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
选择 Download 选项进行下载.下载的版本越新越好,另外,cmake 版本的选择是根据 VTK 版本来定的. 既然 VTK 咱们下载的是最新版本所以 cmake 咱们也最好用最新版本. 下载好后进行安装 1,安装 VTK 首先介绍下载了
Windows (Installer)
vtk-5.0.3-win32.exe
的安装方法 先执行 vtk-5.0.3-win32.exe 安装到你选定的目录下,安装时只要不断点击 next 就 可以完成相应的安装.安装后会产生 vtk5.0 文件夹里面还包括 bin 等子文件夹.这 时候将 vtk-5.0.3.zip 解压到 vtk5.0 文件夹下解压后会生成 vtk(大写)文件夹 (c:\vtk5.0\VTK) vtkdata-5.0.3.zip 也解压 vtk5.0 主目录下生成 VTKdate 文件 将 夹 (c:\vtk5.0\vtkdata) . 以 上 都 是 没 有 改 文 件 名 正 常 解 压 的 结 果 . vtk-5.0.3-win32.exe 安装后具体有什么作用请原谅小弟才疏学浅没有参悟透.如果 各位谁知道的话很想向各位请教.这样就完成了 VTK 的安装. 如果大家没有下载
Windows (Installer)
vtk-5.0.3-win32.exe
的话就可以按照网上说的那样: 比如我把 c:\vtk\作为我们的主目录,将 vtk-5.0.3.zip 解压在 vtk 这个文件夹 中生成 VTK 文件夹(c:\vtk\VTK) ,把 vtkdata-5.0.3.zip 也解压在 vtk 主目录下生 成 vtkdata 文 件 夹 (c:\vtk\vtkdata) , 再 建 立 一 个 空 的 文 件 夹 取 名 为 bin . (c:\vtk\bin)这里我没有改动 vtk 解压后的名称,如果大家想改随意,不会出错. 2,安装 cmake 这个安装也不用向大家过多介绍
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 2 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
运行 CMSetup246-win32.exe, 不停地点击下一步就行了. 这里给大家介绍的都是现在 网上的最新版本. 三,装载 VC 这里 vc 的版本现在很多但都是 vc6.0 的各种版本. 这个我没有太多考虑过一般 vc6.0 是完全可以的. 到这里只要安装正确一般不会出现错误. 第二步:运行 cmake 首先,将源码和编译工作目录两个目录添好,如果你装了 vtk-5.0.3-win32.exe 在这个例子中, sourse code 目录是 c:\vtk5.0\VTK\, build 目录是 c:\vtk5.0\bin\. 如果你没有装那 sourse code 目录是 c:\vtk\VTK\, build 目录是 c:\vtk\bin\.只 要两个目录选择正确一般不会出现错误. 再按 configure 按钮,cmake 软件会让你选择需要使用的编译器,这里我们选 vc6.0,然后,cmake 就会对系统进行扫描了,停下来之后,我们就可以修改 cmake 选项了.这里很重要因为你未来 VTK 的一些功能完全在你的选择上了.有时候选择不 好非常容易出现错误.下给大家看几个已经配置好的 cmake 的截图
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 3 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
这个是一种简单的配置方法.大家按照上面的配置就可以运行了就差不多够用了. 下面说一下第二种的配置方法:vtk_use_guisupport: 很多人把 vtk 安装好了,却无 法运行 vtk 中与 mfc 混合编程的例子, 提示错误都是缺少 vtkmfc.lib, 问题就出在这 个选项,我们必须把它设置为 on,再次 configure 之后,会出现一个新的选项 vtk_use_mfc,把它也设置为 on 就行了.vtk_use_guisupport 这个选项在点 Show Advanced Values 才能出现.选择后按 configure 选项直到没有红色为止.这个是选 择 vtk_use_guisupport ON 后 vtk_use_mfc 也 选 择 ON 后 截 图
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 4 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
当然配置好后不会是红色的这里只是给大家看一下例子.因为 cmake 的配置很重要, 但 cmake 可以反复编译不用害怕出现错误.还有就是要 vtk_data_root 选项和 cmake_install_prefix 选项的配置. 1,vtk_data_root: 一般地,cmake 可以自己找到 vtkdata 的路径,但如果没有,把 c:\vtk\vtkdata\(c:\vtk5.0\vtkdata)这里是我上面所讲的两种不同安装方法的 data 路径这里不再反复说明.目的是告诉 cmake,vtk 需要的数据都在哪里. 2,cmake_install_prefix: 这个比较重要,就是以后要安装 vtk 的路径.上面两种 例子的安装路径是:c:\vtk(c:vtk5.0).有些人又要问,我编译完了不就可以用 vtk 了吗,为什么还要安装?对,不安装其实可以,安装的好处就是可以从 1G 多的文件 中提取出.h .lib .dll 等精华,安装在指定目录下,并修改系统环境变量. 这里再把部分选项的作用做一下说明虽然好多再网上可以找到但为了方便起见 还是给大家列了出来.
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 5 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
build_examples: 就是询问是否编译 vtk 中的例子,如选则 on,就要花时间把 vtk 的例子编译一遍. build_testing: test code 就是 vtk 开发者用来测试 vtk 代码的一些测试代码,我 们常常把它们当成学习 vtk 的例子,与 build_examples 类似,是否编译他们,看个 人喜好. build_shared_libs: 如果设置为 off,就只会生成 lib 文件,用于开发肯定是够了. 如果设置为 on,将会多生成 dll 文件.他们的区别不是我这里说得清楚的,反正如果 用静态库编程,应用程序可以独立运行,尺寸也比较大,如果用动态库编程,应用程 序必须找到动态库才能运行,但尺寸可以做得比较小 vtk_use_parallel: 对于想用 vtk 做并行计算的朋友,要把这个选上,对于只想学学 vtk 的,保持默认 off 提示:在 cmake 中,有些选项是依赖于另一些选项的,比如 vtk_use_guisupport 和 vtk_use_mfc,当我们禁用 vtk_use_guisupport,vtk_use_mfc 是看不到的. 修改完 cmake 选项以后,不停的按 configure 按钮,直到没有选项显示为红色,而且 此时,ok 按钮可用,点击 ok 按钮,就可以生成 vc 的工程文件了. 第三步用 vc6.0 编译 用 vc6.0 打开 bin 目录下的 vtk.dsw 文件,因为文件很多,打开速度会有些慢. 打开后,直接 build.编译的用时和计算机性能,以及 cmake 中的一些选项有关,一 般 1 个小时内可以完成.结果保存在. c:\vtk5.0\bin \bin(c:\vtk\bin\bin)目录 下. 在这个时候是我最痛苦的时候,因为我在这个时候计算机向我报错.当编译了很 长时间后向你报错是最无奈的.这个时候多是你的系统有问题.多数错误是
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 6 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
C:\WINDOWS\system32\cmd.exe,错误代码我记不清了.C++提示错误是
vtksys - Win32 Debug-------------------Generating vtksysProcessFwd9xEnc.c Error spawning c:\windows\system32\cmd.exe ALL_BUILD - 1 error(s), 0 warning(s)
Configuration:
但错误是这个这个时候多数情况你要重新安装系统了, 这个时候你可以关掉防火墙再 重新执行 vtk.dsw 试一试如果不行说明你以前安装的一些东西对它进行了修改没有办 法我安装的是江民杀毒再配合网络卫士 360 再加上天网防火墙. 当网防火墙发现有软 件想修改 C:\WINDOWS\system32\cmd.exe 时就会拦下来认为是病毒再攻击你的系统. 如果让他拦下来安装当然不能成功啦. 但我说的只是我的情况但有一次我关掉了天网 依然无法安装提示也是这个错误. 其实在 vtk 的官方网站有对这个错误的具体描述但 没有解决方法.如果你的系统有还原点重新系统还原也是一种很好的方法.我就是通 过还原才消除了这个错误的.如果这个错误过不去的话剩下的就无法安装.所以一定 要解决这个错误. 执行需要一段时间.但也很快的.执行成功后用 vc6.0 打开 bin 目录下的 install.dsp 文件点击 build 对 VTK 进行安装.上面如果过去的话执行 install.dsp 会很顺利.没有错误.网上有的文章说会有提示错误但不用理会.我问了好多安装最 新版本的人并没有提示错误. 所以我想可能随着 vtk 和 cmake 的版本升高这个错误已 经解决了.但我想尽量执行时尽量不要让他出错.尽量修正到没有提示.有了错误不 加以理会万一以后我们编了很长时间的代码后执行不了. 而大家总认为代码有问题不 断的改代码而乎略安装时的一些细节的话会很难改过来. 所以安装好打下一个良好的 地基非常重要. 下面给大家看一下安装好的一些截图,参考使用.
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 7 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
1,vtk 安装好后文件夹下的目录
2 ,vtk.dsw 文件
3 , 打开 vtk.dsw 后 https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 8 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第三步 设置 project setting 到了这一步你的 VTK 安装已经进入尾声.只要再加一设置你就可以执行例子了. 但现在依然是最容易出错的时候. 下面以一个例子作为示范 例子为 volum,在 vc 下打开好多人说打不开名称为 cxx 后缀的文件. 咱们在 windows
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 9 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
当然无法打开.这个是 unix 可以打开的文件名称.咱们要打开工程.在文件类型上 选择带有 dsw 后缀的打开.打开后咱们就成功的打开了一个工程,之后在工程选项中 选择设置之后出现以下
我们先选择 link 之后在下的分类中选择输入然后在对象/模块库中加入以下 opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib vtkCommon.lib vtkDICOMParser.lib vtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGraphics.lib vtkHybrid.lib vtkImaging.lib vtkIO.lib vtkjpeg.lib vtkMPEG2Encode.lib vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib 把这些直接复制粘贴进去即可. 我这个是一位姐姐提供的跟官方给的不太一样.官方给的是 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 10 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib vtkCommon.lib vtkDICOMParser.lib vtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGraphics.lib vtkHybrid.lib vtkImaging.lib vtkIO.lib vtkjpeg.lib vtkMPEG2Encode.lib vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib 这个填加随便但我感觉还是填加我上面填加的更为好一些.填加后在附加库路径 上上加上 c:\vtk5.0\bin \bin\debug(c:\vtk\bin\bin\debug)这个是我按照我说的 例子两种附加库的路径.只要修改这两项就好了. 之后选择 c/c++
然后分类里选择预处理在附加包含路径中填加
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 11 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
C:\vtk\VTK \GenericFiltering,C:\vtk\VTK \Common,C:\vtk\VTK \IO,C:\vtk\VTK \Filtering,C:\vtk\bin,C:\vtk\VTK \Rendering,C:\vtk\VTK \Graphics,C:\vtk\VTK \VolumeRendering,C:\vtk\VTK \Imaging,C:\vtk\VTK \Hybrid
如果安装了 vtk-5.0.3-win32.exe 那么路径改为
C:\vtk5.0\VTK \GenericFiltering,C:\vtk5.0\VTK \Common,C:\vtk5.0\VTK \IO,C:\vtk5.0\VTK \Filtering,C:\vtk5.0\bin,C:\vtk5.0\VTK \Rendering,C:\vtk5.0\VTK \Graphics,C:\vtk5.0\VTK \VolumeRendering,C:\vtk5.0\VTK \Imaging,C:\vtk5.0\VTK \Hybrid 这里的路径都是我上面两种方法的安装路径.随个人安装路径的不同加以改变.
最后我们需要打开 c:\vtk5.0\bin \bin\debug(c:\vtk\bin\bin\debug)这两
个文件夹选择其中所有的 DLL 后缀的文件全部复制到 c:\windows\system 下. 我原来 安装后对例子进行 build 没有错误但运行时却出现缺少 DLL 文件的提示. 所以这个步 骤就是为了大家能够运行出想要的结果所必须要做的步骤.
现在大家可以运行例子了.这时候只要打开例子中的 dsw 后缀的程序就可 以运行了.例子大家自己看吧. 这里我要承认我确实是 vtk 的菜鸟, 但安装和调试的过程确实很费劲. 我只 不过把我的感受写出来告诉大家. 希望对大家刚刚学习 vtk 的人有所帮助. 也感 谢帮助过我的人,没有他们我现在可能什么也不会.希望以后大家可以互相帮 助.这是对自己对别人都有好处的一种学习方法.
HuangSteve 注: 赠送 CadCaeCamPlm(C3P)论坛的 VTK 坛友的一份礼物.希望大家喜欢和
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 12 页 共 13 页

https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
支持作者希望(rinqar) ,他为了写这篇文章花费了不少时间和心思.
https://www.360docs.net/doc/fe6873270.html,/Forum/index.htm
CadCaeCamPlm 专业门户网站收集整理, 版权属于原作者 联系 HuangSteve@https://www.360docs.net/doc/fe6873270.html,
第 13 页 共 13 页

相关主题
相关文档
最新文档