VS2005配置VTK

由於工作需要,在VS2005環境下配置VTK,找了很多資料都有問題(可能是版本的問題),以下內容轉自http://hi.baidu.com/wchwho/blog/item/c6c6dd1d32f3f5ed1ad5766e.html,是配置vtk5.6的。

另:生成的DLL文件需拷貝到C:/WINDOWS/system目錄下,否則編譯可通過,但運行的時候會提示找不到DLL文件。

由於課題需要用到體繪製的東西,便找到了VTK。網上VTK配置介紹還可以,不過我沒試成功,參考着他們的解說,按照自己的想法實現了下配置。想法是主要是便於配置、換臺機器也能比較容易配置。介紹的步驟雖多卻很容易理解,1-12步驟是編譯VTK的,後面的是配置VS2005的。

 

1、以VS2005爲例,需要提前安裝CmakeCmake儘量是最新版本吧,說是最低2.4。

2、下載最新的VTK源碼和VTK數據包,解壓放在單獨的文件夾內。這一步怎麼弄都無所謂,現在的版本是VTK5.6。

3、打開CMake,“Where is the source code”用來指定VTK源碼加壓縮後的文件夾位置,“Where to build the binaries”用來指定VS2005工程項目輸出的位置,找填一個自己滿意的位置就行。

4、其他的目前先不用做,直接點“Configure”配置一下,大約運行個十分鐘左右,就會顯示出一片紅色的結果,這時候在“Advanced”前打個勾,在紅色結果框裏找到“vtk_use_guisupport”,選中打個勾,第二次Configure配置一下,很快就出結果了,在結果框裏找到“vtk_use_mfc”,選中打個勾,第三次Configure,這次應該不會再有紅色的結果,全顯示爲無色了。

5、在結果框裏選中所有的,按“Generate”輸出配置後的結果。CMake部分就結束了,下面是VS2005的事情了。

6、在“Where to build the binaries”指定的位置出找到.sln文件,雙擊打開就成了。

7VTK可以生產“DebugReleaseMinSizeRelRelWithDebInfo”四種模式下的各種文件。

8、右鍵點擊“ALL_BUILD”選擇“Rebuild”選項就可以。大概得用半個多小時,所以這個時候可以忙其他的了。我在編譯生成時,提示說“Build: 65 succeeded, 0 failed, 2 up-to-date, 0 skipped”。

9、生產完之後,在工程欄裏找到“INSTALL”選項,右鍵點擊選擇“”,這個東西是提取項目中所有可能用到的.h.lib.dll.exe等文件提取集中放到一個位置,位置是在第5CMake生成時,結果框中有個“cmake_install_prefix”,就是它指示的位置,也可以修改其值。

10、默認情況下,.h.lib.dll.exe等文件被放到C:\Program Files\VTK目錄,因爲開發設計到DebugRelease模式,爲防止在Release提出的文件將上次提取的文件被覆蓋,先挪個位置,比如在當前文件夾下建個Debug文件夾,將生成的文件夾全部拖進去就OK了。

11、接下來重複7-10步驟,生成ReleaseMinSizeRelRelWithDebInfo(編譯選項,build菜單下的project configuration)等三個模式下對應的文件。

12、至此生成的文件爲








ReleaseMinSizeRelRelWithDebInfo等三個文件夾下的文件結構類似。

13、前面的12步驟,也可以參考網上其它介紹。由於這裏生成了4中模式下的開發所需的文件,因此VS2005需要專門配置下,比網上的要簡單。

14、新建一個工程,隨便丟進去一個可以正確編譯的代碼,然後開始配置。

15



上圖是用來配置Debug模式下的lib文件目錄


上圖是用來配置Debug模式下的.h文件目錄


上圖是用來配置Release模式下的.lib文件目錄


上圖是用來配置Release模式下的.h文件目錄

$(NOINHERIT) kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib uuid.lib ole32.lib oleaut32.lib comdlg32.lib advapi32.lib vtkMFC.lib vtkRendering.lib vtkGraphics.lib vtkverdict.lib vtkImaging.lib vtkIO.lib vtkFiltering.lib vtkCommon.lib vtkDICOMParser.lib vtkNetCDF.lib vtkmetaio.lib comctl32.lib wsock32.lib vtksqlite.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vtksys.lib ws2_32.lib vfw32.lib vtkftgl.lib vtkfreetype.lib opengl32.lib vtkWidgets.lib vtkVolumeRendering.lib vtkViews.lib vtkproj4.lib vtklibxml2.lib vtkInfovis.lib vtkHybrid.lib vtkGeovis.lib vtkGenericFiltering.lib vtkexoIIc.lib vtkCharts.lib vtkalglib.lib

這一個是用來配置所有模式下需要用到的.lib文件名,這麼做就不用分別在各個模式下再輸入一遍了。這些.lib文件名用的是網上流傳的。

16、目前不清楚MinSizeRelRelWithDebInfo模式是幹什麼的,配置應該也是一樣。測試運行下例子吧。


代碼用的是網上的,橫容易搜到。

發佈了30 篇原創文章 · 獲贊 31 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章