VTK配置步骤(WIN7 64位 + VS2012 + VTK-5.10.1)

2023-11-18

前面的废话可以不看,我很啰嗦。
//**********************
由于项目中需要用到VTK,上周三就开始编译VTK源码,中间出现了一系列问题。首先是下载的高版本代码顺利编译后,自己新建的工程总是提示链接错误,尽管所有的库文件都加入了,还是不正确。之后下载了vtk较低版本5.8.0,源码有几处错误,参考新版本修改后,依然是自己新建工程链接错误。就这样一直到周五都没有成功。在群里也没能得到解决办法,到是发现大家最初配置时都出现过很多问题,有的一个月才配置好,简直吓尿了。幸好偶然有一位仁兄告诉了我他的成功配置版本,就是vs2012+vtk5.10.1,但是他的是WIN8 64位,于是周末在家沉思两天后,决定先用这个版本在WIN7上试下,不行就上WIN8去试。周一的上午我很清醒,满血的感觉就是好,于是我又开始倒腾起来了,没想到啊,成功啦。
//***********************

配置方法很多很多,这只是我的方法,也是参考了很多人的教程之后的结果,也许当你完全没辙时,能帮上一点忙。
1.下载相关软件

vtk-5.10.1.zip和vtkdata-5.10.1.zip

http://www.vtk.org/VTK/resources/software.html


cmake-2.8.12.2.zip:

http://www.cmake.org/cmake/resources/software.html


2.解压以上三个包,放在E:\vtk下,vtk-5.10.1和vtkdata-5.10.1分别改名为VTKsourcecode和VTKData。


3.以管理员身份打开E:\vtk\cmake-2.8.12.2-win32-x86\bin下的cmake-gui.exe,在source code和binaries里填上如图的路径后,点Configure。选择Visual Studio 11编译器,虽然是64位但是有教程建议不要选Visual Studio 11 win64,我也没有试过。在Configure过程中会出现一些warning,不用管。等Configure完成以后,有几项需要修改,如下:



vtk_data_root,浏览到例子数据所在位置,E:\vtk\VTKData
build_examples:勾选上则编译例子,建议选择
build_testing: 勾选上则编译测试代码,建议选择
vtk_use_parallel:勾选(并行计算相关的,按需求选择)
build_shared_libs: 设置为on,将会多生成 dll 文件,这些dll需要拷到Windows/SysWOW64目录下。要是用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,要是用动态库编程, 即on时,应用程序必须找到动态库才能运行,但尺寸可以做得比较小。我选择的是on。
vtk_use_GUIsupport:勾选
再次Configure后,有一项红色为vtk_use_mfc,再勾选后Configure。
以上正确完成后点击Generate。此过程中可能会出现SAFESEH映像不安全的问题,只要在相应项目的链接器命令行加入/SAFESEH:NO即可。完成后关闭CMake。


4.用VS2012打开E:\vtk\VTKbin\Utilities\MaterialLibrary目录下的 MaterialLibrary.sln 文件,右键点击All_Build选择重新生成。把E:\vtk\VTKbin\bin\Debug里生成的vtksys.dll拷贝到Windows\SysWOW64下。或者打开VS2012的属性管理器,双击任意“Microsoft.Cpp.Win32.user”,弹出属性页,在里面VC++目录的 Library Directories 中将bin文件夹中的Debug包括进去。


5.打开E:\vtk\VTKbin下的VTK.sln,右键点击All_Build选择重新生成。


6.完成这些之后可能会出现涉及MFC的错误,解决方法如下:
①在解决方案中分别找到vtkDLG,vtkMDI,vtkSDI这三个项目,右键→Properties→Configuration Properties→Linker→Input→在Additional Dependencies中添加..\..\..\..\..\bin\Debug\vtkIO.lib
②再找到Win32SampleMFC这个项目,与以上类似,添加..\..\..\..\bin\Debug\vtkIO.lib这样,就为这些项目加入了vtkIO.lib库。
这时,如果选择项目Cone6,Win32SampleMFC都可以调试通过,应该就没有问题了。


7.到此还没有完成哦,自己新建的项目还需要配置。
新建项目Test
①配置附加包含目录,位于配置属性→C/C++常规,这一步根据项目头文件来选择加入E:/vtk/VTKbin和E:/vtk/VTKsourcecode下的哪些文件夹。
②附加依赖项,位于链接器→输入,拷入下述内容。

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comdlg32.lib
advapi32.lib
comctl32.lib
vfw32.lib
ws2_32.lib
wsock32.lib
opengl32.lib
E:\VTK\VTKbin\bin\Debug\vtkRendering.lib
E:\VTK\VTKbin\bin\Debug\vtkIO.lib
E:\VTK\VTKbin\bin\Debug\vtkDICOMParser.lib
E:\VTK\VTKbin\bin\Debug\vtkNetCDF_cxx.lib
E:\VTK\VTKbin\bin\Debug\vtkNetCDF.lib
E:\VTK\VTKbin\bin\Debug\vtkmetaio.lib
E:\VTK\VTKbin\bin\Debug\vtksqlite.lib
E:\VTK\VTKbin\bin\Debug\vtkpng.lib
E:\VTK\VTKbin\bin\Debug\vtktiff.lib
E:\VTK\VTKbin\bin\Debug\vtkzlib.lib
E:\VTK\VTKbin\bin\Debug\vtkjpeg.lib
E:\VTK\VTKbin\bin\Debug\vtkexpat.lib
E:\VTK\VTKbin\bin\Debug\vtkGraphics.lib
E:\VTK\VTKbin\bin\Debug\vtkverdict.lib
E:\VTK\VTKbin\bin\Debug\vtkImaging.lib
E:\VTK\VTKbin\bin\Debug\vtkFiltering.lib
E:\VTK\VTKbin\bin\Debug\vtkCommon.lib
E:\VTK\VTKbin\bin\Debug\vtksys.lib
E:\VTK\VTKbin\bin\Debug\vtkftgl.lib
E:\VTK\VTKbin\bin\Debug\vtkfreetype.lib
E:\VTK\VTKbin\bin\Debug\vtkMFC.lib
E:\VTK\VTKbin\bin\Debug\vtkWidgets.lib

好了,这时在Test\Debug下就应该能看到例子程序运行成功的样子了。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VTK配置步骤(WIN7 64位 + VS2012 + VTK-5.10.1) 的相关文章

随机推荐

  • 811. 子域名访问计数

    网站域名 discuss leetcode com 由多个子域名组成 顶级域名为 com 二级域名为 leetcode com 最低一级为 discuss leetcode com 当访问域名 discuss leetcode com 时
  • 私有部署、重构企业软件,第四范式发布大模型“式说”

    大模型领域再添重要一员 4月26日 第四范式首次向公众展示其大模型产品 式说3 0 并首次提出AIGS战略 AI Generated Software 以生成式AI重构企业软件 式说将定位为基于多模态大模型的新型开发平台 提升企业软件的体验
  • GYM-102920-L. Two Buildings(决策单调性+分治)

    题目链接 题目大意 求一段序列的 h i h j j i 的最大值 step1 转化一下题意 h i h j j i h j h i j i 令a i h i b i h i 然后全部转化为两种坐标 i a i i b i 这样题目就转化成
  • 物联网技术周报第31期:Linux基金会宣布微内核项目Zephyr

    本文转载至 http www infoq com cn news 2016 02 iot weekly 31 utm campaign infoq content utm source infoq utm medium feed utm t
  • linux的开机启动和密码破解

    linux的开机启动 linux启动流程 Centos开机修改密码 kali开机修改密码 centso启动 rcx文件 chkconfig命令 centos给grub设置密码 压缩解压 gzip bzip2 tar tar gzip tar
  • 韦东山数码相框项目进度一

    数码相框进度一 项目需求分析 程序架构 点阵字符显示 参考文章 韦东山数码相框任务需求分析 项目需求分析 程序架构 1 为了提高程序的复用性 将应用程序分为两个进程 进程之间通过socket套接字进行通信 2 两个进程下通过多线程框架 完成
  • Hibernate框架详解(四)

    Hibernate查询方式 1 对象导航查询 根据id查询某个班级 再查询这个班级里面的所有学生 2 OID查询 根据id查询某一条记录 返回对象 3 HQL查询 利用Query对象 写HQL语句实现查询 4 QBC查询 利用Criteri
  • Clion开发Stm32之编译不通过问题

    编译报错的情况 通过排查发现是由于项目路径存在中文的原因导致的 将项目移植不含中文目录问题得到解决 记录一下错误
  • 如何在Eclipse中的Dynamic web project工程中运行Apache服务器

    第一步 点击新建 其他 如图 2 选择server 下一步 如图 3 选择Apache服务器 4 选择本地已经下载的Apache对应的版本 完成 5 新建一个测试Dynamic webproject工程 6 在webcontent中随便建立
  • C++基础一:内存分区和引用

    1 内存分区模型 C 程序在执行时 将内存大方向划分为4个区域 代码区 存放函数体的二进制代码 由操作系统进行管理的 全局区 存放全局变量和静态变量以及常量 栈区 由编译器自动分配释放 存放函数的参数值 局部变量等 堆区 由程序员分配和释放
  • 01虚拟机下配置linux的网络上网(包括ssh,gcc,g++的安装)

    1 选择模式 若你是新装虚拟机时 这个界面会依次安装时会直接有 到这一步选择添加 gt 选择网络适配器 点击桥接模式和复制物理网络 若你已经安装好虚拟机 可以点击虚拟机上方的虚拟机 M 然后也会出现这个界面 操作和上面一样 2 安装vim
  • [读论文]深入研究对抗样本和黑盒攻击的可转移性

    论文题目 深入研究对抗样本和黑盒攻击的可转移性 本文内容来源于论文 Delving into Transferable Adversarial Examples and Black box Attacks 论文地址 arxiv 1611 0
  • OpenGL总结4-3D纹理贴图坑

    OpenGL在纹理贴图的时候用到了多个坐标系 最头痛的是两个 一个是顶点所在的顶点坐标系 另一个是纹理所在的纹理坐标系 顶点坐标系与纹理坐标系不同的地方在于 当纹理导入之后 纹理在纹理坐标系中的坐标始终保持 0 1 内 所以在进行纹理变换的
  • 在Linux下安装GmSSL

    本文属于 GmSSL国密加密算法库使用系列教程 之一 欢迎查看其它文章 在Linux下安装GmSSL 一 关于GmSSL 二 解决与系统OpenSSL冲突的问题 三 GmSSL源码准备 四 编译与安装GmSSL 1 解压并进入目录 2 编译
  • 5分钟学会RocketMQ

    RocketMQ 简介 RocketMQ 是一个队列模型的消息中间件 具有高性能 高可用 高实时等特性 它并不支持JMS java消息服务 规范 但参考了JMS规范和kafak等的思想 Producer Consumer 队列都可以分布式
  • 吉布斯抽样

    吉布斯采样是生成马尔科夫链的一种方法 生成的马尔科夫链可以用来做蒙特卡洛仿真 从而求得一个较复杂的多元分布 吉布斯采样的具体做法 假设有一个k维的随机向量 现想要构造一条有n个样本的k维向量 n样本马尔科夫序列 那么 随机 初始化一个k维向
  • 联想拯救者笔记本加固态硬盘过程重点

    最近朋友嫌弃自己笔记本机械硬盘太慢 在我的蛊惑下买了块固态硬盘 想改善一下开机时间 本来以为很简单的事 没想到啊没想到 一 总的说一下 拯救者这款笔记本升级固态硬盘的思路 用ufi版本的U盘启动盘 我用的大白菜uefi版本 电脑的bosi下
  • vue修改图标以及项目名

    首先 打开这个文件 javascript
  • js实现图片任意拉伸_APICloud开发者进阶之路

    本文出自APICloud官方论坛 感谢论坛版主 东冥羽的分享 七牛云上传视频并截取第一帧作为视频的封面图 使用js上传 模块videoPlayer截取第一帧 有专门的截图模块 但是我使用的有点问题 可能是视频源的问题 canvas也能截取
  • VTK配置步骤(WIN7 64位 + VS2012 + VTK-5.10.1)

    前面的废话可以不看 我很啰嗦 由于项目中需要用到VTK 上周三就开始编译VTK源码 中间出现了一系列问题 首先是下载的高版本代码顺利编译后 自己新建的工程总是提示链接错误 尽管所有的库文件都加入了 还是不正确 之后下载了vtk较低版本5 8