随笔-366  评论-37  文章-0  trackbacks-0
转:http://blog.sciencenet.cn/blog-268489-569776.html

总共三个步骤:
1. Visual Studio 2008
2. CMake
3. VTK 5.8

Step1:安装Visual Studio 2008

其实这步本来没什么好说的,但是需要注意的是安装的如果是Visual Studio2008 Express版本,则不支持MFC, 在稍后的编译过程中,如果选择了VTK_USE_MFC, 编译中会出错。所以建议大家装professional版本的Visual Studio 2008. 如果装了express版本,那么后面不要选VTK_USE_MFC.
Step2: 安装Cmake

这步也很简单,不用深入研究Cmake,只要按照下面的步骤会使用即可,最好下载最新版本的Cmake。本文中使用的是2.8。
Step3: 安装VTK 5.8

http://www.vtk.org/VTK/resources/software.html 下载。下载三个文件: vtk-5.8.0-win32-x86.exe,  vtk-5.8.0.zip,  vtkdata-5.8.0.zip

先运行vtk-5.8.0-win32-x86.exe, 选择安装的位置,比如D:\Program Files\VTK 5.8.0,运行安装完之后,会在该目录下生成几个文件夹,然后最好手动再添加几个文件夹,最后确保该目录下包含以下几个文件夹(已经存在的不要删除,不存在的自己手动添加上): bin, lib, VTKDATA, VTK.

然后将vtkdata-5.8.0.zip 解压到VTKDATA文件夹中,vtk-5.8.0.zip解压到VTK文件夹中。

Step4: 编译VTK 5.8

这步要细心一点,不然可能会浪费一些时间。但也非常简单。首先双击打开cmake-gui.exe. 然后设置Where is the source code为D:/Program Files/VTK 5.8.0/VTK,设置Where to build the binaries为D:/Program Files/VTK 5.8.0/bin,意思就是把VTK文件夹中的源代码编译为二进制文件存放在bin文件夹中。然后点击Configue选择Visual Studio 9 2008. 之后在出来的一堆选项中,大部分该打勾的地方已经打勾了,不用管之,然后自己手动将BUILD_SHARED_LIBS打上勾。原因入下:

"CMake 提供一个用户界面,用户可以定制某些变量,其中比较重要的是 BUILD_SHARED_LIBS,根据它的选择可以生成 VTK 的静态库或者动态链接库。如果编译成静态库,那么在开发应用程序时要将相应库代码加入可执行程序;如果是动态库,则可执行程序与动态链接库是分离的。用动态库的好处是可以减小主程序的体积,缺点是可执行程序不能独立运行。不过在有些情况下,因为某些专利算法在商业用途里只能授权使用,所以 VTK 提供的部分代码只能以动态链接库的方式使用,所以应该熟悉编译动态链接库的方法。"

继续configue,如果没有问题则全部为红色,如果有问题,某些选项是白色,下面会出现错误提示。
这时如果出现错误很可能是和Visual Studio的设置有关系,比如安装VS之后没有初始化,或者类似Error spawning 'cmd.exe',解决方法:(笔者注:这个解决办法是我在网上抄的,自己并没有试验过)

Options->Projects and Solutions -> VC++ Directories添加:
 (SystemRoot)\ System32(SystemRoot)
$(SystemRoot)\System32\wbem

OK之后,对于安装Visual Studio 2008 Express版本的用户来说,到此Step4结束,请继续看Step5. 对于安装Professional版本的用户来说,请将advanced复选框选中,下面会多出很多选项出来,将其中的VTK_USE_GUISUPPORT打勾继续configue之后又会多出VTK_USE_MFC再将它也打勾,继续configue,然后成功之后,点generate,退出cmake。


Step5: 生成解决方案

一:用visual studio 2008打开D:\Program Files\VTK 5.8.0\bin\Utilities\MaterialLibrary\MaterialLibrary.sln, 右键点击All_BUILD选Rebuild;

二:用visual studio 2008打开D:\Program Files\VTK 5.8.0\bin\vtk.sln, 同上。

需要很长时间。如果没有出错,整个VTK到此算是安装完成了。下面可以测试一下了。

Step6: 测试及配置

新建一个项目,测试一下VTK,除了需要include一些头文件以外,还需要慎重配置以下几个地方:

1. 对于新建的项目,为了使用VTK必须在Project->Property Page->C/C++->General->Additional Include Files中添加

"D:\PROGRAM FILES\VTK 5.8.0\bin";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Common";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities";

"D:\PROGRAM FILES\VTK 5.8.0\bin\VolumeRendering";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Rendering";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Charts";

"D:\PROGRAM FILES\VTK 5.8.0\bin\GUISupport\MFC";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\vtkalglib";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\MaterialLibrary";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\DICOMParser";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\ftgl";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\verdict";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\vtkfreetype\include";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\vtkexodus2\include";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\vtklibproj4";

"D:\PROGRAM FILES\VTK 5.8.0\bin\Utilities\vtknetcdf";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Infovis";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Geovis";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Views";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\VolumeRendering";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Hybrid";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Widgets";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Rendering";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Rendering\Testing\Cxx";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Charts";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\IO";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Imaging";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Graphics";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\GenericFiltering";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Filtering";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Common";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Common\Testing\Cxx";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\vtklibproj4";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\DICOMParser";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\vtkfreetype\include";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\vtknetcdf";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\vtkexodus2\include";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\MaterialLibrary";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\verdict";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\utf8\source";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\vtkalglib";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Utilities\ftgl\src";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\GUISupport\MFC";

"D:\PROGRAM FILES\VTK 5.8.0\vtk\Infovis";

2. 在Project->Property Page->Linker->General->Additional Library Directories中添加D:\Program Files\VTK 5.8.0\bin\bin\Debug

3.在Project->Property Page->Linker->Input->Additional Dependencies中添加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 vtkMFC.lib vtkInfovis.lib



posted on 2013-03-16 20:21 小王 阅读(735) 评论(0)  编辑 收藏 引用 所属分类: OpenGL

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理