轉(zhuǎn):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
先運(yùn)行vtk-5.8.0-win32-x86.exe, 選擇安裝的位置,比如D:\Program Files\VTK 5.8.0,運(yùn)行安裝完之后,會在該目錄下生成幾個文件夾,然后最好手動再添加幾個文件夾,最后確保該目錄下包含以下幾個文件夾(已經(jīng)存在的不要刪除,不存在的自己手動添加上): bin, lib, VTKDATA, VTK.
然后將vtkdata-5.8.0.zip 解壓到VTKDATA文件夾中,vtk-5.8.0.zip解壓到VTK文件夾中。
Step4: 編譯VTK 5.8
這步要細(xì)心一點,不然可能會浪費(fèi)一些時間。但也非常簡單。首先雙擊打開cmake-gui.exe. 然后設(shè)置Where is the source code為D:/Program Files/VTK 5.8.0/VTK,設(shè)置Where to build the binaries為D:/Program Files/VTK 5.8.0/bin,意思就是把VTK文件夾中的源代碼編譯為二進(jìn)制文件存放在bin文件夾中。然后點擊Configue選擇Visual Studio 9 2008. 之后在出來的一堆選項中,大部分該打勾的地方已經(jīng)打勾了,不用管之,然后自己手動將BUILD_SHARED_LIBS打上勾。原因入下:
"CMake 提供一個用戶界面,用戶可以定制某些變量,其中比較重要的是 BUILD_SHARED_LIBS,根據(jù)它的選擇可以生成 VTK 的靜態(tài)庫或者動態(tài)鏈接庫。如果編譯成靜態(tài)庫,那么在開發(fā)應(yīng)用程序時要將相應(yīng)庫代碼加入可執(zhí)行程序;如果是動態(tài)庫,則可執(zhí)行程序與動態(tài)鏈接庫是分離的。用動態(tài)庫的好處是可以減小主程序的體積,缺點是可執(zhí)行程序不能獨(dú)立運(yùn)行。不過在有些情況下,因為某些專利算法在商業(yè)用途里只能授權(quán)使用,所以 VTK 提供的部分代碼只能以動態(tài)鏈接庫的方式使用,所以應(yīng)該熟悉編譯動態(tài)鏈接庫的方法。"
繼續(xù)configue,如果沒有問題則全部為紅色,如果有問題,某些選項是白色,下面會出現(xiàn)錯誤提示。
這時如果出現(xiàn)錯誤很可能是和Visual Studio的設(shè)置有關(guān)系,比如安裝VS之后沒有初始化,或者類似Error spawning 'cmd.exe',解決方法:(筆者注:這個解決辦法是我在網(wǎng)上抄的,自己并沒有試驗過)
Options->Projects and Solutions -> VC++ Directories添加:
(SystemRoot)\ System32(SystemRoot)
$(SystemRoot)\System32\wbem
OK之后,對于安裝Visual Studio 2008 Express版本的用戶來說,到此Step4結(jié)束,請繼續(xù)看Step5. 對于安裝Professional版本的用戶來說,請將advanced復(fù)選框選中,下面會多出很多選項出來,將其中的VTK_USE_GUISUPPORT打勾繼續(xù)configue之后又會多出VTK_USE_MFC再將它也打勾,繼續(xù)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
小王 閱讀(864)
評論(0) 編輯 收藏 引用 所屬分類:
OpenGL