VS2008下VTK安装指南_mfc+vtk+vs2008-程序员宅基地

在 《VTK安装配置教程》修改整理而成,原文为VC6的安装指南,详见: http://blog.csdn.net/ralix/article/details/2070051

1. 必须要下载的东西,vs2008已经装好为前提:

vtk-5.8.0-win32.exe 安装程序

vtk-5.8.0.zip 源程序

vtkdata-5.8.0.zip 数据

vtkDocHtml VTK手册(可选)

cmake-2.8.6-win32-x86

2. 先执行 vtk-5.8.0-win32.exe安装到d:\Program Files (x86)\VTK 5.8.0, 安装后会产生 vtk5.0 文件夹里面还包括 bin 等子文件夹。

(project setting也是按这个目录配置的)

3. 将 vtk-5.0.4.zip解压到d:\Program Files (x86)\VTK 5.8.0,即解压后为:d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0; vtkdata-5.0.4.zip同样处理。

4. 安装 cmake-2.8.6-win32-x86,方便起见装到d:\Program Files (x86)\cmake-2.8.6-win32-x86。运行cmake,设置sourse code目录为D:/Program Files (x86)/VTK 5.8.0/vtk5.8.0, build目录为D:/Program Files (x86)/VTK 5.8.0/bin

按 configure 按钮,cmake 软件会让你选择需要使用的编译器,这里我们选vs2008,然后cmake会描所需要的文件,停下来之后,我们就可以修改 cmake选项了。

打开Show Advanced Values再configure,才可以看到一个vtk_use_guisupport,打开它,才能选vtk_use_mfc,再configure,configure的次数是无所谓的。

很多人把 vtk 安装好了,却无法运行vtk 中与mfc 混合编程的例子,提示错误都是缺少vtkmfc.lib,问题就出在这个选项,我们必须把它设置为 on。

至于vtk_use_qvtk,这是给QT用的vtk,但目前只支持QT3,现在的版本是QT4,我试过了,cmake通不过。只能等着新版cmake了。

还有要注意的就是:

vtk_data_root: 目的是告诉cmake,vtk 需要的数据都在哪里,我们的数据在d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\vtkdata

cmake_install_prefix: 这个是指定一个目录把.h .lib .dll等精华放在这里,"VTK安装三步曲"里说是为将来装vtk做准备,我不太清楚,反正用它默认的就好了。

build_examples: 就是询问是否编译 vtk 中的例子,你在看这个教程,说明肯定是初次用VTK,建议选上。

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

vtk_use_parallel: 对于想用vtk 做并行计算的朋友,要把这个选上,对于只想学学vtk 的,保持默认 off

都没问题了所有项目会变成灰色。这时就可以按OK了,几秒钟后,cmake自动退出,为VC6准备的make文件已经生成好。

5. 用 vs2008打开 bin目录下的 d:\Program Files (x86)\VTK 5.8.0\bin\VTK.sln 文件,直接build。这一般要花掉十几分钟。结果保存在d:\Program Files (x86)\VTK 5.8.0\bin\bin。如果这个过程报错,可能是防火墙、杀毒软件的原因,请关掉再试。顺利通过编译就可以继续了。

6. 第4步时build_shared_libs是ON的话,把C:/VTK 5.0/bin/bin/Debug里生成的dll文件都拷到windows/system目录下。

7. 试一下:打开d:\Program Files (x86)\VTK 5.8.0\bin\Examples\VTKExamples.sln,选择Cone项目,右键set as active project,然后build,run. 这时应该能正确运行了。

8. 但还没完。这时能运行的只是vtk自己带的项目,自建的项目还需要自己进行一些设定:

新建一记事本,一定要取消自动换行。把下面的"三大步"copy进去,确保每一步都在一行,以后会经常用到的:

1) 修改Project setting->C/C++ ->Category->Preprocessor->Additional include directories:

d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\GenericFiltering,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Common,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\IO,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Filtering,d:\Program Files (x86)\VTK 5.8.0\bin,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Rendering,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Graphics,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\VolumeRendering,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Imaging,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Hybrid,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\GUISupport,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\include\vtk-5.0,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Parallel,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\lib,d:\Program Files (x86)\VTK 5.8.0\vtk5.8.0\Widgets

2)修改Project setting->Link->Input->Object/library modules:

opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.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 vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib

3)还有Additional library path:

d:\Program Files (x86)\VTK 5.8.0\bin\bin\Debug

像Cannot open include file: 'vtkConeSource.h':这样的错误都是上面三大步没走对或dll没拷到windows/system下造成的。要建立新项目,必须重新配置三大步,因为那三步都是Project setting里的,新项目没有默认这些设置。

如果某个项目再提示缺什么lib或.h的话,再临时加上去就行了。

9. 这时新建一个project, win32 console application, an empty project, 生成后给source files加一个test.cpp,把下面的代码放进去:

#include "vtkConeSource.h"

#include "vtkPolyDataMapper.h"

#include "vtkRenderWindow.h"

#include "vtkCamera.h"

#include "vtkActor.h"

#include "vtkRenderer.h"

#include "vtkProperty.h"

int main()

{

vtkConeSource *cone = vtkConeSource::New();

cone->SetHeight( 3.0 );

cone->SetRadius( 1.0 );

cone->SetResolution( 10 );

vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();

coneMapper->SetInputConnection( cone->GetOutputPort() );

vtkActor *coneActor = vtkActor::New();

coneActor->SetMapper( coneMapper );

vtkRenderer *ren1= vtkRenderer::New();

ren1->AddActor( coneActor );

ren1->SetBackground( 0.1, 0.2, 0.4 );

vtkRenderWindow *renWin = vtkRenderWindow::New();

renWin->AddRenderer( ren1 );

renWin->SetSize( 300, 300 );

int i;

for (i = 0; i < 360; ++i)

{

renWin->Render();

ren1->GetActiveCamera()->Azimuth( i );

}

cone->Delete();

coneMapper->Delete();

coneActor->Delete();

ren1->Delete();

renWin->Delete();

return 0;

}

看过vtk example的第一个例子就会知道上面的程序在做些什么。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wpxu08/article/details/70208336

智能推荐

FFmpeg编译with NVIDIA硬件加速_ffmpeg video codec sdk driver-程序员宅基地

文章浏览阅读4.2k次。FFmpeg编译with NVDIA硬件加速FFmpeg编译with NVDIA硬件加速安装NVIDIA显卡驱动下载对应显卡型号驱动卸载旧的驱动安装驱动安装CUDA安装NVIDIA VIDEO CODEC SDK编译FFmpeg参考资料安装NVIDIA显卡驱动下载对应显卡型号驱动lspci | grep VGAhttps://www...._ffmpeg video codec sdk driver

unity cloud_共同创建:Unity和Google Cloud-程序员宅基地

文章浏览阅读251次。unity cloudAt Unite Berlin, we announced an alliance with Google Cloud to make it easier for you to create connected games. Since then, we’ve been hard at work! Now, together with Google Cloud, we wa..._unity cloud

记录viewer.js动态更新图片导致无法预览_viewjs 图片预览 框架调用失效-程序员宅基地

文章浏览阅读1k次。前言问题:viewer只能初始化一次,导致用ajax添加了新的图片无法预览解决:viewer.update();【当源图像更改(添加、删除或排序)时更新查看器实例。】1、HTML<ul id="picView"></ul>2、实现代码 let viewer; $(function () { //初始化 viewer = new Viewer(document.getElementById('picView'))_viewjs 图片预览 框架调用失效

重新安装Mysql,及mysql workbench遇到的所有麻烦(解决1 服务无法启动没有报告任何错误的问题 解决2:登录不进去:8.0重置密码;解决三,workbench打不开鼠标就转了两下_mysql workbench 鼠标错乱-程序员宅基地

文章浏览阅读1.4k次。卸载重新下载安装mysql先声明 我下载的是mysql8.0版本,不同版本操作指令不同在重新安装的过程中遇到了以下问题:MySQL 服务正在启动 . MySQL 服务无法启动. 服务没有报告任何错误.的问题的解决登不进,重置密码注意是8.0之后版本的方法5.0之后的有其他方法workbench打不开鼠标只转了两下1,先卸载workbench2,到这个网址https://support..._mysql workbench 鼠标错乱

[SCOI2010]序列操作 题解-程序员宅基地

文章浏览阅读288次。[SCOI2010]序列操作 题解前言这道题很经典,特别是对于线段树的这个板块来说,完成后对线段树的理解会上一个档次。但是说实话,就算知道了这道题的思路,想要完成也很难,因为这个代码实在是太长了,而且线段树维护的变量态度多,很容易把人写晕,所以我就来发这一发题解,点明其中易错的几个点(尤其是我错的),以及每一个函数的详细解答,希望dalao们勿喷。提示如果想完成这道题,那么你至少要会以下操..._[scoi2010]序列操作

android自动化测试之MonkeyRunner--环境搭建(一)_android monkeyrunner python-程序员宅基地

文章浏览阅读2.5k次。android自动化测试之MonkeyRunner一、Android自动化测试之环境搭建1.1 Android-sdk介绍SDK(Software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。Android是 google公司推出的手机开发平台。Android-sd_android monkeyrunner python

随便推点

LaTex 双栏模板下单栏公式_latex双栏怎么创建单栏的公式附录-程序员宅基地

文章浏览阅读6.9k次,点赞2次,收藏12次。?待更_latex双栏怎么创建单栏的公式附录

3D物体检测(二)_类别无关的 物体3d关键点检测-程序员宅基地

文章浏览阅读739次。title: 3D物体检测(二)date: 2020-02-22 17:09:40categories:3D物体检测tags:3D物体检测点云总结一下在bilibili上看到的基于点云场景的三维物体检测算法及应用,是香港中文大学博士生所作报告有兴趣的也可以去看看这个视频。这一部分主要总结一下报告主要的三个论文:PointRCNN、Part-A^2、PV-RCNN想看更多相..._类别无关的 物体3d关键点检测

2018函授英语计算机统考,函授本科需要统考英语和计算机吗-程序员宅基地

文章浏览阅读303次。函授本科也就是通过成人高考中的函授的学习方式获取本科学历,而函授也是我国成人教育中成人高考的一种学习方式,其主要通过寒假、暑假以及国家的法定节假日由学校安排学员进行统一的面授和考试,而平时学员主要靠自学为主,通过信函的方式与老师进行交流。因为函授本科相对便捷的学习方式,使得很多的成年人都报考函授提升本科学历。但是一般成人教育都要参加统考,函授本科需要统考英语和计算机吗?对于一般的函授本科学员是需要..._函授计算机英语

VTK 学习----VTK对象-算法类-vtkPolyDataAlgorithm-程序员宅基地

文章浏览阅读5.9k次,点赞5次,收藏39次。4.5.6 vtkPolyDataAlgorithmvtkAdaptiveSubdivisionFilter基于边缘和/或面积度量细分三角形。vtkAdaptiveSubdivisionFilter是一个基于最大边长和/或三角形区域细分三角形的滤镜。通过指定任何给定三角形可能具有的最大边长和/或三角形区域来控制三角形细分。细分继续进行,直到满足其标准。请注意,使用过小的标准值会产生巨..._vtkpolydataalgorithm

matlab4fsk软件解调代码,4fsk调制与解调基于Verilog HDL语言-程序员宅基地

文章浏览阅读725次。【实例简介】4fsk调制与解调基于Verilog HDL语言【实例截图】【核心代码】4fsk调制与解调基于VerilogHDL语言└── kechengsheji├── dac0832(10).cnf├── dac0832(11).cnf├── dac0832(12).cnf├── dac0832(13).cnf├── dac0832(15).cnf├── dac0832(1).cnf├── da..._4fsk开源代码

dbeaver如何导出mysql数据库_DBeaver操作数据表的拷贝-程序员宅基地

文章浏览阅读1.9w次。通过DBeaver工具链接数据库后,我们就可以通过菜单或者命令功能来实现我们想要的目的。(一)创建数据库新建数据库,如下图所示:——>在点击“确定”按钮后,可能会遇到失败,此时,我们可以直接通过sql语句来实现,在SQL控制台中输入CREATE DATABASE bien_test,执行sql命令就可以完成创建了。(二)创建数据表在bien_test数据库下新建表table_a(名称任意,..._如何使用dbeaver导出mysql数据库

推荐文章

热门文章

相关标签