vtk环境搭建(windowsXP/win7,vtk6.0.0+cmake2.8+vs2010)

 

1. 安装vs2010(默认方式)

2. 安装cmake2.8(默认方式)

3. 新建文件夹作为vtk文件根目录(例如"E:\vtk6.0"),解压vtk-6.0.0.zip到根目录,将VTK6.0.0改名为vtk;解压vtkdata-6.0.0.zip到根目录,将VTKDATA6.0.0改名为vtkdata(名字可随意,前后一致即可);新建bin文件夹

4. 打开cmake,若需选择编译器选vc2010即可,设置source code文件夹为E:/vtk6.0/vtk,设置build文件夹为E:/vtk6.0/bin,然后Configure,结束后为红色,可根据自己需要修改选项,此处勾选BUILD_EXAMPLES(若为了速度可不选此项),CMAKE_INSTALL_PREFIX为默认安装路径,此处默认为C:/Program Files/VTK。修改后重新Configure,结束后可Generate。

至此在E:\vtk6.0\bin可看到VTK.sln,vc2010打开后编译ALL_BUILD(比较慢),然后编译INSTALL(需先设为启动项目),然后编译例子Cone,运行可看到旋转的圆锥。

5. 新建空vc2010工程,添加cpp文件,拷入示例代码(可从vtk.sln解决方案中拷某个示例代码如cone),修改项目属性:

配置属性>>C/C++>>常规>>附加包含目录 加入路径C:\Program Files\VTK\include\vtk-6.0;

配置属性>>链接器>>常规>>附加库目录 加入路径C:\Program Files\VTK\lib;

配置属性>>连接器>>常规>>输入>>附加依赖项 改为:(可能不需要这么多,待高手提供更简便的方法)

kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;vtkalglib-6.0.lib;vtkChartsCore-6.0.lib;vtkCommonColor-6.0.lib;vtkCommonDataModel-6.0.lib;vtkCommonMath-6.0.lib;vtkCommonCore-6.0.lib;vtksys-6.0.lib;vtkCommonMisc-6.0.lib;vtkCommonSystem-6.0.lib;vtkCommonTransforms-6.0.lib;vtkInfovisCore-6.0.lib;vtkFiltersExtraction-6.0.lib;vtkCommonExecutionModel-6.0.lib;vtkFiltersCore-6.0.lib;vtkFiltersGeneral-6.0.lib;vtkCommonComputationalGeometry-6.0.lib;vtkFiltersStatistics-6.0.lib;vtkImagingFourier-6.0.lib;vtkImagingCore-6.0.lib;vtkRenderingContext2D-6.0.lib;vtkRenderingCore-6.0.lib;vtkFiltersGeometry-6.0.lib;vtkFiltersSources-6.0.lib;vtkIOImage-6.0.lib;vtkDICOMParser-6.0.lib;vtkIOCore-6.0.lib;vtkzlib-6.0.lib;vtkmetaio-6.0.lib;vtkjpeg-6.0.lib;vtkpng-6.0.lib;vtktiff-6.0.lib;vtkIOXMLParser-6.0.lib;vtkexpat-6.0.lib;vtkRenderingFreeType-6.0.lib;vtkfreetype-6.0.lib;vtkftgl-6.0.lib;vtkRenderingOpenGL-6.0.lib;vtkImagingHybrid-6.0.lib;vtkDomainsChemistry-6.0.lib;vtkIOXML-6.0.lib;vtkIOGeometry-6.0.lib;vtkjsoncpp-6.0.lib;vtkexoIIc-6.0.lib;vtkNetCDF-6.0.lib;vtkNetCDF_cxx-6.0.lib;vtkhdf5_hl-6.0.lib;vtkhdf5-6.0.lib;vtkFiltersAMR-6.0.lib;vtkParallelCore-6.0.lib;vtkIOLegacy-6.0.lib;vtkFiltersFlowPaths-6.0.lib;vtkFiltersGeneric-6.0.lib;vtkFiltersHybrid-6.0.lib;vtkImagingSources-6.0.lib;vtkFiltersHyperTree-6.0.lib;vtkFiltersImaging-6.0.lib;vtkImagingGeneral-6.0.lib;vtkFiltersModeling-6.0.lib;vtkFiltersParallel-6.0.lib;vtkFiltersParallelImaging-6.0.lib;vtkFiltersProgrammable-6.0.lib;vtkFiltersSelection-6.0.lib;vtkFiltersTexture-6.0.lib;vtkFiltersVerdict-6.0.lib;vtkverdict-6.0.lib;vtkGeovisCore-6.0.lib;vtkInfovisLayout-6.0.lib;vtkInteractionStyle-6.0.lib;vtkInteractionWidgets-6.0.lib;vtkRenderingAnnotation-6.0.lib;vtkImagingColor-6.0.lib;vtkRenderingVolume-6.0.lib;vtkViewsCore-6.0.lib;vtkproj4-6.0.lib;vtkgl2ps-6.0.lib;vtkImagingMath-6.0.lib;vtkImagingMorphological-6.0.lib;vtkImagingStatistics-6.0.lib;vtkImagingStencil-6.0.lib;vtkInteractionImage-6.0.lib;vtkIOAMR-6.0.lib;vtkIOEnSight-6.0.lib;vtkIOExodus-6.0.lib;vtkIOExport-6.0.lib;vtkRenderingGL2PS-6.0.lib;vtkIOImport-6.0.lib;vtkIOInfovis-6.0.lib;vtklibxml2-6.0.lib;vtkIOLSDyna-6.0.lib;vtkIOMINC-6.0.lib;vtkIOMovie-6.0.lib;vtkoggtheora-6.0.lib;vtkIONetCDF-6.0.lib;vtkIOParallel-6.0.lib;vtkIOPLY-6.0.lib;vtkIOSQL-6.0.lib;vtksqlite-6.0.lib;vtkIOVideo-6.0.lib;vtkRenderingFreeTypeOpenGL-6.0.lib;vtkRenderingHybridOpenGL-6.0.lib;vtkRenderingImage-6.0.lib;vtkRenderingLabel-6.0.lib;vtkRenderingLOD-6.0.lib;vtkRenderingVolumeAMR-6.0.lib;vtkRenderingVolumeOpenGL-6.0.lib;vtkTestingGenericBridge-6.0.lib;vtkTestingIOSQL-6.0.lib;vtkTestingRendering-6.0.lib;vtkViewsContext2D-6.0.lib;vtkViewsGeovis-6.0.lib;vtkViewsInfovis-6.0.lib;vtkgl2ps-6.0.lib;vtkexoIIc-6.0.lib;vtkFiltersParallel-6.0.lib;vtkIONetCDF-6.0.lib;vtkNetCDF_cxx-6.0.lib;vtkNetCDF-6.0.lib;vtkhdf5_hl-6.0.lib;vtkhdf5-6.0.lib;vfw32.lib;vtkFiltersAMR-6.0.lib;vtkParallelCore-6.0.lib;vtkIOLegacy-6.0.lib;vtkIOSQL-6.0.lib;vtksqlite-6.0.lib;vtkGeovisCore-6.0.lib;vtkIOXML-6.0.lib;vtkIOGeometry-6.0.lib;vtkjsoncpp-6.0.lib;vtkproj4-6.0.lib;vtkRenderingContext2D-6.0.lib;vtkRenderingOpenGL-6.0.lib;glu32.lib;vtkFiltersImaging-6.0.lib;vtkInfovisLayout-6.0.lib;vtkInfovisCore-6.0.lib;vtkViewsCore-6.0.lib;vtkInteractionWidgets-6.0.lib;vtkImagingHybrid-6.0.lib;vtkFiltersHybrid-6.0.lib;vtkImagingGeneral-6.0.lib;vtkImagingSources-6.0.lib;vtkFiltersModeling-6.0.lib;vtkInteractionStyle-6.0.lib;vtkRenderingAnnotation-6.0.lib;vtkImagingColor-6.0.lib;vtkRenderingVolume-6.0.lib;vtkRenderingLabel-6.0.lib;vtkRenderingFreeType-6.0.lib;vtkRenderingCore-6.0.lib;vtkFiltersExtraction-6.0.lib;vtkFiltersStatistics-6.0.lib;vtkalglib-6.0.lib;vtkImagingFourier-6.0.lib;vtkImagingCore-6.0.lib;vtkFiltersGeometry-6.0.lib;vtkFiltersSources-6.0.lib;vtkFiltersGeneral-6.0.lib;vtkFiltersCore-6.0.lib;vtkCommonComputationalGeometry-6.0.lib;vtkIOImage-6.0.lib;vtkDICOMParser-6.0.lib;vtkmetaio-6.0.lib;comctl32.lib;wsock32.lib;vtkpng-6.0.lib;vtktiff-6.0.lib;vtkjpeg-6.0.lib;vtkIOXMLParser-6.0.lib;vtkIOCore-6.0.lib;vtkCommonExecutionModel-6.0.lib;vtkCommonDataModel-6.0.lib;vtkCommonMisc-6.0.lib;vtkCommonSystem-6.0.lib;vtkCommonTransforms-6.0.lib;vtkCommonMath-6.0.lib;vtkCommonCore-6.0.lib;vtksys-6.0.lib;ws2_32.lib;Psapi.lib;vtkexpat-6.0.lib;vtkftgl-6.0.lib;vtkfreetype-6.0.lib;vtkzlib-6.0.lib;opengl32.lib

 

至此编译已经没有问题,运行会弹框报错

Generic Warning: In ... ...\Rendering\Core\vtkPolyDataMapper.cxx, line 27
Error: no override found for 'vtkPolyDataMapper'

解决办法是在cpp文件头加上两个宏定义(http://stackoverflow.com/questions/18642155/no-override-found-for-vtkpolydatamapper)

#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

然后编译,运行,旋转圆锥出现了!!!

 

补充:

1.若cmake在gernerate是勾选GUI及MFC,ALL_BUILD编译是可能会报错,可参考

http://blog.csdn.net/left_la/article/details/7069708

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1993 小K的农场 (差分约束)

题目描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b至少多种植了c个单位…

将Quartz与Spring集成

在Java应用程序中调度作业时,Quartz是第一个考虑的工具。 Quartz是由最流行的RDBMS支持的作业调度程序。 这真的很方便,并且很容易与spring集成。 为了创建石英模式,您必须下载石英发行版并解压缩位于crystal-2.2.3 / docs / dbTables /中的…

linux下md5sum的使用

在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。1、使用md5sum来产生指纹(报文摘要)命令如下:md5su…

深入理解Python中的元类(metaclass)

注:本文原稿来自stackoverflow,原文链接,目前已收获5k高赞。 一、类也是对象 在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk,这显得有些奇特。在大多数编程语言中,类就是一组…

6个步骤卸载wine

今天在ubuntu下装了个wine,感觉界面很难看,跟ubuntu风格不协调。所以我把它卸载了。 根据网上找的资料,我是按如下步骤卸载: 1.终端运行sudo apt-get remove wine,运行发现系统还有wine的图标残留,于是 2…

OpenStack基础知识-virtualenv工具详解

1、virtualenv介绍 virtualenv通过创建一个单独的虚拟化python运行环境,将我们所需的依赖安装进去,不同项目之间相互不干扰,从而解决不同的项目之间依赖不同,造成的冲突问题 2、安装virtualenv 通过pip命令,安装virtua…

java中的五种排序方法_用Java排序的五种有用方法

java中的五种排序方法Java排序快速概述: 正常的列表: private static List VEGETABLES Arrays.asList("apple", "cocumbers", "blackberry");Collections.sort(VEGETABLES);output: apple, blackberry, cocumbers反向排…

压缩vmware中的ubuntu系统(虚拟机瘦身大法)

压缩vmware中的ubuntu系统&#xff08;虚拟机瘦身大法&#xff09; 前提:你的虚拟机大小 < 你放置虚拟机的磁盘的剩余空间 1.在Termial(终端)里 运行"sudo vmware-toolbox"(需要root权限) 2.选择“shrink”选项卡 3.选中“/”&#xff0c;点击“shrink”按钮 4.完…

P2619 [国家集训队2]Tree I

P2619 [国家集训队2]Tree I 链接 分析&#xff1a; 为了确定白边选入的数量&#xff0c;所以给白边加一个权值&#xff0c;二分这个值&#xff0c;然后最小生成树。可以发现白边的数量虽这个值的增大而减小&#xff0c;满足单调性。 有一个问题&#xff1a;如果在二分过程中给白…

程序化JCMD访问

在线提出的问题表明&#xff0c;开发人员偶尔希望通过其Java应用程序访问通常从针对该应用程序外部运行JConsole &#xff0c; VisualVM或JDK命令行工具获得的信息类型。 以下是这类问题的一些示例&#xff1a; 如何以编程方式获取jmap直方图&#xff1f; 以编程方式从Java应…

Ubuntu瘦身与扩容运动

Ubuntu瘦身与扩容运动 2009-11-26 18:18:24| 分类&#xff1a; 计算机 | 标签&#xff1a; |字号大中小 订阅 Ubuntu瘦身与扩容运动 2009年08月14日 星期五 12:25大家都知道系统用久了就会慢慢变得臃肿,速度当然也就会有一些影响,所以当那些加速系统的方法不在奏效的时候…

认识jQuery

一、JavaScript库 把一些浏览器兼容性的代码或者需要常用的函数装在一个js文件里,封装了很多js代码的一个js文件就是一个库 二、jQuery 是一个JavaScript库&#xff0c;免费开源的&#xff0c;体积小&#xff0c;链式编程&#xff0c;隐式迭代&#xff0c;很多优点jQuery 的功能…

Axis2 WebService(配置、发布、调用)

from:http://www.lifeba.org/arch/java_axis2_webservice.html 准备工作 1、下载&#xff1a;axis2-1.5.4-bin.zip,axis2-1.5.4-war.zip 下载地址&#xff1a;http://axis.apache.org/axis2/java/core/ 2、环境变量设置 AXIS2_HOME E:\research\axis2-1.5.4-bin\axis2-1.5.4 J…

SmartPDA图片

转载于:https://www.cnblogs.com/xyyshishuaige/p/9098613.html

基于国家标准的 EndNote 输出样式模板

发表于 2013-05-26作者 Haoxian Zeng浏览 983 次from:http://cnzhx.net/blog/endnote-output-style-cnzhx/1EndNote 相当于一个数据库&#xff0c;将添加/导入的文献存档。需要引用文献的时候就从中选择一个插入到文档中&#xff0c;EndNote 会自动给你编号、在文档末尾建立相应…

工厂设计模式解决什么问题_使用工厂模式解决设计问题

工厂设计模式解决什么问题工厂设计模式是面向对象环境中最常用的模式之一。 再次来自“创意设计”模式类别&#xff0c;即有关对象创建的所有信息。 在某些情况下&#xff0c;对象的创建很复杂&#xff0c;可能需要某种程度的抽象&#xff0c;以便客户端代码不了解这些复杂性和…

shiro 认证思路

转载于:https://www.cnblogs.com/hwgok/p/9101232.html

Java 9对可选的补充

哇&#xff0c;人们对Java 9的Stream API增添了 真正的兴趣。 想要更多&#xff1f; 让我们看一下…… 可选的 可选::流 这不需要任何解释&#xff1a; Stream<T> stream();想到的第一个词是&#xff1a; 终于 &#xff01; 最后&#xff0c;我们可以轻松地从可选值流…

Matlab功率谱估计

(2012-03-16 12:22:15) 随机信号处理 * 随机变量分布特征量 均值mean 协方差矩阵cov 相关系数矩阵corrcoef [R, P] corrcoef(X)&#xff0c;P值用于检验相关性&#xff0c;越小越相关&#xff0c;0.05以下为显著相关。 * 相关函数估计 相关函数估计xcorr [c,lags] xcorr(…

OO第三次博客作业——规格

OO第三次博客作业——规格 一、调研结果&#xff1a; 规格的历史&#xff1a; 引自博文链接&#xff1a;http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世界&#xff0c;而软件的特点是构造世界。软件的最底层就是0&#xff0c;1&#xff0c;两个…