計算機環境: 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
然後在VS中從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.
Configure後取消選擇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打開,運行,效果如下: