天天看點

VTK編譯和安裝

一、       VTK開發環境

Windows7作業系統、Visual Studio 2008內建開發環境或者Visual Studio 2010內建開發環境。CMake 3.0.0,Qt 4.8.6以及VTK 5.10 Release版本。

VS開發環境08、10都可以。CMake選擇2.8.6或者CMake 3.0.0不會出現版本不相容。VTK6.0版本以上必須配備QT5.0以上版本。比較建議使用VTK6.0以下版本,VTK6.0會有較大改動,網上很多例程不能跑,對學習VTK造成一些不便。

QT官網下載下傳位址: http://qt-project.org/downloads

Cmake下載下傳位址:http://www.cmake.org/cmake/resources/software.html

VTK官網下載下傳位址:http://www.vtk.org/VTK/resources/software.html

VTK編譯和安裝
VTK編譯和安裝
VTK編譯和安裝

下載下傳VTK source Files用于編譯和安裝。VTK Date files是運作VTK的例程所需要的資料。如果要運作例程一定要解壓VTK Date files。   

下載下傳所有軟體均有根據自己機器的開發環境進行正确選擇,不可。   

二、VTK編譯安裝步驟

1、将下載下傳的VTK源碼VTK-5.10.1解壓到某個磁盤下、然後建立一個空檔案,命名為VTK-5.10.1-bin,命名不能含有中文。此檔案夾用于cmake後存放地點。(也可以在cmake的時候建立存儲檔案夾)。

2、打開cmake界面、界面如下所示

VTK編譯和安裝
VTK編譯和安裝

圖2-1

在CMake界面上的“Whereis the source code”文本框裡輸入前一步解壓vtk-5.10.0.zip之後的路徑。此路徑必須到目錄裡最外層的CMakeLists.txt檔案所在的路徑。接着,在“Where to build the binaries”文本框裡輸入前一步建立的空檔案夾的路徑,即 VTK-5.10-bin的路徑,之是以分開建是避免cmake後污染原本的souce檔案。以上位址輸完後,按configue按鈕會彈出VTK編譯環境選擇對話框。如下所示:

VTK編譯和安裝
VTK編譯和安裝

圖2-2

根據自己的開發環境進行選擇,我的開發環境是VS2010,是以我選擇Visual Studio 10 2010。VTK configure過程需要幾分鐘,針對不同的開發環境可能會報錯,處理錯誤會是一個比較糾結的過程。後面我會總結一些常見錯誤及處理辦法。

配置完成後,CMake界面如圖2.3所示

VTK編譯和安裝
VTK編譯和安裝

圖2-3

關于VTK的一些CMake配置選項的說明:

BUILD_EXAMPLES —預設是關閉的,如果打開這個選項,則會編譯VTK例子,同時VTK編譯所需的時間也較長,占用的磁盤空間也較大。對于初學者來說,建議把這個選項打開。

BUILD_SHARED_LIBS —預設是關閉的,意味着VTK是靜态編譯;如果打開這個選項,則是動态編譯。我建議是關閉,随便每次編譯時間會長點,但便于移植。

“靜态編譯”與“動态編譯”的差別:靜态編譯就是在編譯的時候把所有的子產品都編譯進可執行檔案(exe)裡去,當啟動這個可執行檔案時所有的子產品都已加載進來。動态編譯則是編譯的時候需要的子產品都沒有編譯進去,一般情況下可以把這些子產品都編譯成動态連結庫DLL,啟動程式(初始化)的時候這些子產品不會被加載,運作的時候用到那個子產品就調用哪個DLL檔案。靜态連結庫編譯相當于你帶着一個工具包到處跑,遇到有需要的地方不需要周圍的環境提供相應的工具,自己用自己工具包的工具就行了,是以當環境發生變化可以盡可能的無視;動态連結庫編譯相當于不帶任何東西,走到哪是哪。這兩者的差別顯然就是前者重量增加了,即程式的體積會比後者的大。

是以,究竟是用“靜态編譯”還是“動态編譯”,關鍵看自己的需要。對于VTK初學者而言,所涉及到的工程可能都比較小,建議用“靜态編譯”,也友善把VTK程式移植到其他沒有安裝VTK的計算機上運作。本書的VTK類庫是采用靜态編譯。

BUILD_TESTING —預設是打開的,表示會編譯VTK的測試程式。VTK裡每個類都有對應的程式檔案對該類進行測試,對于初學者而言,可以關閉掉這個選項,後續如有需要,可以再打開此選項。

VTK_DATA_ROOT —指向VTKData所在的路徑,即第1章裡下載下傳的檔案vtkdata-5.10.0.zip解壓後的路徑。一般情況下,VTK能夠自動搜尋到,如果沒有搜尋到可以手動輸入,在運作VTK的例子時需要用到這些資料。

CMAKE_INSTALL_PREFIX —這個選項表示VTK的安裝路徑,預設的路徑是:C:/Program Files/VTK。該選項的值可不作更改,按預設值即可。

VTK_USE_QT —是否使用Qt。在這個系列裡,我們使用Qt作為GUI開發工具,是以勾上該選項。

VTK_WRAP_JAVA、VTK_WRAP_PYTHON、VTK_WRAP_TCL —這三個選項是供準備使用Java、Python或者Tcl語言開發VTK工程的使用者選擇的。VTK由兩個子系統組成,分别是C++類庫和提供給Java、Tcl和Python來操作該類庫的解釋器工具,如果勾上以上三個選項,即會編譯這些解釋器工具。

勾選圖2.3的“Advance”複選框,可以在CMake界面上看到更多的選項,各選項分别表示什麼意思,可以把滑鼠在該選項名字停留片刻,即會彈出關于該選項的提示資訊。另外“Advance”視圖下以下幾個選項需要說明一下:

BUILD_DOCUMENTATION —預設是關閉的,如果打開這個選項,則會編譯VTK幫助文檔,由于這個文檔VTK已提供下載下傳,是以可以不選。

VTK_USE_GUISUPPORT — VTK是否支援GUI,Windows下如果需要使用MFC開發的,需要勾選上這個選項。本教程在示範的時候也會把這個選項勾選,如果你确定不使用MFC,可以不用選擇該選項。

繼續按“Configure”按鈕,直到沒有紅色的選項出現,然後按“Generate”按鈕,開始生成VTK工程檔案。這一步完成以後,打開在“Where to build thebinaries”裡輸入的路徑。可以看到如下:

VTK編譯和安裝
VTK編譯和安裝

圖2-4

接着輕按兩下該目錄下的VTK.sln檔案,打開VTK工程,對VTK進行編譯,此過程的時間會比較長。如果你還想把VTK相關的頭檔案、lib檔案等提取出來,以便用于其他項目的開發,可以編譯Solution下的“INSTALL”工程,右擊該工程,選擇菜單:“Project Only” -> “Build Only INSTALL”,VTK裡所有的頭檔案以及相關的庫檔案等,即會被提取到你在CMAKE_INSTALL_PREFIX裡指定的路徑裡,預設的路徑是:C:/ProgramFiles/VTK。

三、測試是否成功安裝VTK

為了測試是否成功安裝VTK,我們需要建立一個簡單的VTK工程。然後用同樣的方法對此簡單的VTK工程進行編譯。

Cmakelists:

cmake_minimum_required(VERSION2.8.8 FATAL_ERROR)//Cmake版本号project(TestVTKInstall)//此括号是項目名字

find_package(VTKREQUIRED)//這裡不用修改

include(${VTK_USE_FILE})//這裡不用修改

add_executable(${PROJECT_NAME}TestVTKInstall.cpp)//c++檔案的名字

target_link_libraries(${PROJECT_NAME}vtkRendering  vtkCommon//這裡是所需要庫的名字

c++檔案

#include "vtkRenderer.h"

#include"vtkRenderWindow.h"

#include"vtkSmartPointer.h"

int main()

{

 vtkSmartPointer<vtkRenderWindow> renWin=vtkSmartPointer<vtkRenderWindow>::New();

   renWin->Render();

   std::cin.get();

   return 0;

}

測試結果:

VTK編譯和安裝
VTK編譯和安裝

圖3-1

得到以上結果表示VTK已經編譯安裝成功。

vtk測試代碼的下載下傳位址:http://download.csdn.net/my

繼續閱讀