1 安装所需资源及版本
cmake-2.8.6-win32-x86.exe
vtk-5.8.0.zip
vtk-5.8.0-win32-x86.exe
vtkdata-5.8.0.zip
几个文件都能从VTK官网上找到
本安装过程基于windows XP系统下的VS2008平台
2 安装步骤
2.1 安装Cmake
CMake 是个跨平台的自动化建构系统,用于VTK、ITK的编译
2.2 创建安装目录结构
E盘下建一目录“VTK&ITK in VS2008”
在该目录下分别建三个目录
“ITK”:用于包含解压的vtkdata和vtk源码
“VTK”
“vtk_vs2008”:用于放置VTK应用程序的工程文件
2.3 安装步骤
(1) 将下载好的文件vtkdata-5.8.0.zip、vtk-5.8.0.zip复制到VTK目录下,在该目录下解压,同时建立一个文件夹vtk_bin。
将vtk-5.8.0-win32-x86.exe安装在VTK_VS2008中。
(2) 运行Cmake,按如下指定源码目录和二进制文件目录:
然后点击Configure,选择VS2008对应的编译器
接下来是配置cmake选项:
VTK_DATA_ROOT: 目的是告诉cmake,vtk 需要的数据都在哪里,我们的数据在 E:/VTK&ITK in VS2008/VTK/vtkdata-5.8.0
CMAKE_INSTALL_PRIFIX:我个人设置在E:/VTK&ITK in VS2008/VTK_VS2008
BUILD_EXAMPLES::就是询问是否编译 vtk 中的例子,你在看这个教程,说明肯定是初 次用VTK,建议选上。
BUILD_SHARED_LIB: 如果设置为off,就只会生成lib 文件。如果设置为on,将会多生 成 dll 文件,建议选On。
BUILD_TESTING:是否编译VTK中的测试代码。此处选上。
VTK_USE_GUISUPPORT:点击窗口上得Advanced,找到该选项,选上后才能激活另一个 选项VTK_USE_MFC,这样才能进行VTK和MFC混合编程。
点击Configure,出现了VTK_USE_MFC选项,选上后再次Configure。窗口中已经没有红色的手动配置项目,点击Generate。
显示Generating done后完成,推出Cmake。
(3) 运行VS2008,打开E:\VTK&ITK in VS2008\VTK\vtk_bin下的文件VTK.sln,在左边资源管理器中右键“解决方案VTK”,选择生成解决方案。开始编译所有配置好的模块。
(4) 编译结束,有四个编译失败
失败的四个项目是 vtkMDI vtkDLG vtkSDI以及win32SimpleMFC。
四者编译出错的原因是一样的,编译是找不到vtkIO.lib,解决方法是:在解决方案资源管理器中右键项目--属性--配置属性--链接器--常规,在附加库目录中添加vtkIO.lib的路径(E:\VTK&ITK in VS2008\VTK\vtk_bin\bin\Debug)。同时在,链接器--输入 中得附加依赖项中添加“vtkIO.lib”。然后各自单独编译即可通过。
至此,已经将所有模块编译完成,在解决方案资源管理器中可以找到每一个模块或者实例的代码。各自对应生成的可执行文件静态库和动态库都可以在E:\VTK&ITK in VS2008\VTK\vtk_bin\bin\Debug下找到。
对应的解决办法为:
在Solution Explorer中分别找到vtkDLG、vtkMDI、vtkSDI这三个项目,右键—>Properties—>Configuration Properties—>Linker—>Input—>在Additional Dependencies中添加..\..\..\..\..\bin\Debug\vtkIO.lib
另外,再找到Win32SampleMFC这个项目,与以上类似地在Additional Dependencies中添加..\..\..\..\bin\Debug\vtkIO.lib
这样,就为这些项目加入了vtkIO.lib库。
接着是配置附加包含目录,位于项目属性->配置属性->c/c++/常规 的第一项,拷入入下述内容(具体可通过查看实例的附加包含目录):
"E:\PROGRAM FILE\VTK\VTK5.8.0\GenericFiltering";"E:\PROGRAM FILE\VTK\VTK5.8.0\Common";"E:\PROGRAM FILE\VTK\VTK5.8.0\IO";"E:\PROGRAM FILE\VTK\VTK5.8.0\Filtering";"E:\PROGRAM FILE\VTK\bin";"E:\PROGRAM FILE\VTK\VTK5.8.0\Rendering";"E:\PROGRAM FILE\VTK\VTK5.8.0\Graphics";"E:\PROGRAM FILE\VTK\VTK5.8.0\VolumeRendering";"E:\PROGRAM FILE\VTK\VTK5.8.0\Imaging";"E:\PROGRAM FILE\VTK\VTK5.8.0\Hybrid";"E:\PROGRAM FILE\VTK\VTK5.8.0\GUISupport";"E:\PROGRAM FILE\VTK\VTK5.8.0\include\vtk-5.0";"E:\PROGRAM FILE\VTK\VTK5.8.0\Parallel";"E:\PROGRAM FILE\VTK\VTK5.8.0\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 ws2_32.lib vtkWidgets.lib vtkHybrid.lib vtkRendering.lib vtkGraphics.lib vtkImaging.lib vtkIO.lib vtkFiltering.lib vtkCommon.lib vtksys.lib vtkVolumeRendering.lib
在E:\VTK&ITK in VS2008\VTK\vtk_bin\Examples\Tutorial下是圆锥体的例子,总共6个例子,逐步加深,学习这六个例子对VTK的学习很有帮助。在项目中对应的是工程cone到cone6这六个工程。可以单独运行查看显示结果。
对VTK的安装和配置已经完成。