轉: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
小王 閱讀(824)
評論(0) 編輯 收藏 引用 所屬分類:
OpenGL