计算机环境: win7 64bit, Python 2.7 64位, VTK5.8.0,VS2010
1,下载 CMake,选择最新版本。
http://www.cmake.org/cmake/resources/software.html
我选择的是 cmake-3.0.0-win32-x86.exe. 然后安装。一路next即可。
2,下载vtk
地址: http://www.vtk.org/VTK/resources/software.html
我用的版本是5.8.0,下载vtk-5.8.0.zip和vtkdata-5.8.0.zip两个压缩文件。
将这两个压缩文件解压到同一个文件夹下。我的是放在D/ITK_source文件夹下的(该文件夹下也存放了ITK的source,是我在编译ITK的时候使用的)
3, D 盘新建两个文件夹:
D:\I_VTK\VTK_temp_backup 用于存放cmake产生的VTK项目文件
D:\I_VTK\VTK 用于保存编译成功后的bin, include, lib等文件
多建立一个 I_VTK目录是为了ITK也可编译在I_VTK这个目录下,为了以后ITK和VTK的混合编程。
4, 打开Cmake进行设置
where is the source code 选择D:/ITK_source/vtk-5.8.0
where to build the binaries 选择D:/I_VTK/VTK_temp_backup
点击Configure,选择编译器:Visual studio 10 2010 Win64
等待Configure完成(约10分钟)。
cmake的选项中将BUILD TESTING和BUILD EXAMPLES不选。
勾选BUILD_SHARED_LIBS.
勾选Advanced之后更改CMAKE_INSTALL_PREFIX(表示编译VTK后生成的lib 及include等的安装路径)设置为 D:\I_VTK\VTK
VTK_DATA_ROOT 设为 D:/ITK_source/vtkdata-5.8.0
再次点击 Configure, 直至所有条目都变成灰色,表示配置成功, 点击Generate确认.
注: cmake还有很多其他选项,初次使用者可以暂且不管,如果需要用到高级功能,再根据需要勾选。例如想使用python写VTK程序,则勾选上python相关选项。(注意也需要安装64位的python)
5, VS 2010编译
选择Release与x64编译。
等待编译的时间比较长。
如果编译中出错,则需要在cmake中重新configure,修改某些选项,重复第四步和第五步。
编译结束后,再右键单击INSTALL项目,单独编译。结束后VTK就安装到了D:\I_VTK\VTK文件夹下。
6, 例子程序有两种创建方法,一是使用cmake创建项目文件;二是自己创建项目文件。
以显示圆锥为例,使用cmake创建项目文件:
在D:\ITK_source\vtk-5.8.0\Examples\Tutorial\Step1\CXX文件夹下将Cone.cxx与CMakeLists.txt复制到一个新的文件夹下,例如D:\project\vtk_test\cone
打开cmake,配置如下:
where is the source code: D:\project\vtk_test\cone
where to build the binaries: D:\project\vtk_test\cone_bin
选择编译器:Visual studio 10 2010 Win64
依次进行Configure和Generate
D:\project\vtk_test\cone_bin文件夹下打开项目文件,Release编译。(如果第五步中选的Debug,这里也使用Debug)
7, 自己创建项目文件
VS中创建新的项目,选择空项目。
将Cone.cxx复制到D:\project\vtk_test\cone\cone下,将该文件加入到项目中。
编译配置设为Debug或Release(经测试均可),选择x64
设置include和lib路径:
Project-Property-VC++ Directories中,
Include Directories选择D:\I_VTK\VTK\include\vtk-5.8,
library Direcotories选择D:\I_VTK\VTK\lib\vtk-5.8
Project-Property-Linker-Input中,Additional Dependencies添加D:\I_VTK\ITK\lib目录下的所有lib文件:
MapReduceMPI.lib
mpistubs.lib
vtkalglib.lib
vtkCharts.lib
vtkCommon.lib
vtkDICOMParser.lib
vtkexoIIc.lib
vtkexpat.lib
vtkFiltering.lib
vtkfreetype.lib
vtkftgl.lib
vtkGenericFiltering.lib
vtkGeovis.lib
vtkGraphics.lib
vtkhdf5.lib
vtkHybrid.lib
vtkImaging.lib
vtkInfovis.lib
vtkIO.lib
vtkjpeg.lib
vtklibxml2.lib
vtkmetaio.lib
vtkNetCDF.lib
vtkNetCDF_cxx.lib
vtkpng.lib
vtkproj4.lib
vtkRendering.lib
vtksqlite.lib
vtksys.lib
vtktiff.lib
vtkverdict.lib
vtkViews.lib
vtkVolumeRendering.lib
vtkWidgets.lib
vtkzlib.lib
然后编译即可,大功告成。
8. 使用VTK+Python
第4步中在cmake中勾选VTK_WRAP_PYTHON.
VTK_USE_TK,再次Configure
Configure和Generate后在VS中编译(Release)。
编译完成后再Eclipse中添加Pythonpath,步骤:窗口——>首选项——>PyDev——>Interpreter-Python
SystemPython中添加 D:\I_VTK\VTK\lib\site-packages\VTK-5.8.0-py2.7.egg
再将D:\I_VTK\VTK\bin中的所有DLL文件复制到该文件夹下。
测试例子:将D:\ITK_source\vtk-5.8.0\Examples\Tutorial\Step1\Python文件夹下的Cone.py文件用Eclips打开,运行,效果如下: