win10環境下VTK7.1的編譯和Qt調用VTK的詳細教程(本文鏈接含VTK庫和測試代碼的分享)


1.VTK庫在三維可視化顯示方面(醫學圖像、地質、氣象等領域)具有廣泛的應用,調用該庫的傳統方式是通過VS,結合Cmake文件進行編譯。

 2.Qt在界面設計、編譯方面具有良好的優勢,如果能使用Qt進行VTK庫的調用,這既利於發揮VTK的優勢進行算法的研究,又利於發揮Qt的優勢進行工程的進展。

 3.然而,目前這方面的參考教程較少或不詳細(之所以這樣說是因為 目前網上的教程都是在VS中通過安裝插件 qt-vs-addin 來實現Qt與VTK的結合的,這樣就失去了Qt Creator的優勢,因為筆者使用過網上這種方法,發現在VS下編程很不舒服),在使用Qt進行調用過程中會出現未知錯誤。因此,本文親自編譯VTK庫並使用Qt進行調用,一方面對自己以前的研究進行總結,另一方面給大家一些參考,避免花費大量時間。

4.本文在win10 64位系統下進行vtk的編譯和測試,已經安裝好Visual Studio 2013 編譯器,主要介紹兩大部分:在windows環境下編譯VTK庫Qt調用VTK詳細步驟。(教程會編譯的VTK庫和測試代碼進行分享,如有需要可上網下載或直接與我聯系,詳情見本文第五部分)

一、准備工作

本文需要的軟件和庫如下:

1.Qt下載地址:http://download.qt.io/archive/qt/5.5/5.5.1/ 下載文件:  qt-opensource-windows-x86-msvc2013_64-5.5.1.exe

2.cmake 下載地址:https://cmake.org/download/  下載文件:cmake-3.9.3-win64-x64.msi

3.vtk 下載地址:https://www.vtk.org/download/  下載文件:VTK-7.1.1.zip

二、編譯VTK(支持Qt)

對於Qt的安裝這里不詳細說明,建議安裝過程庫文件全選,這樣安裝目錄就會包含Qt源代碼,方便后續與VTK結合。

Cmake的安裝按照默認即可。

對於VTK的編譯部分,由於篇幅問題,請參考筆者另一篇博客,win10環境下VTK7.1的編譯和Qt調用VTK的詳細教程二(VS2013編譯支持Qt的VTK庫)

三、配置環境變量

完成編譯后,在C:\Program Files目錄下會生成一個VTK文件夾,添加系統環境變量: C:\Program Files\VTK\bin

在VTK目錄下,建立一個文本文件libsname.txt,里面寫入   DIR D:\lib\lib /B >libsname.txt,該文件就會寫下lib目錄下的所有文件名稱,如下所示,共計115個lib文件。

vtkalglib-7.1.lib
vtkChartsCore-7.1.lib
vtkCommonColor-7.1.lib
vtkCommonComputationalGeometry-7.1.lib
vtkCommonCore-7.1.lib

.......

四、測試  

打開Qt Creator,新建一個項目,依次選擇 “文件(F)”,“Application”,“Qt Widgets Application”,"Choose",項目命名為:testQtVTK7,如圖1所示。

圖1  新建項目選項
 
新建的項目中, 在testQtVTK7.pro中添加引用VTK環境的配置,如圖2,紅色方框部分是項目調用VTK所需要的環境(實際就是前文libsname.txt文件中所有的lib名稱,本文第五部分分享的下載項目里面會有完整的配置):
  圖2 testQtVTK7.pro文件配置
 
經過上述步驟就可以在testQtVTK7項目中引用VTK庫並進行開發了。
在項目中新建一個類 TestVTK,並在該類中添加一個test()方法,該方法實現測試vtk。
然后在主方法中調用test()方法,並進行編譯運行(release版本),會出現錯誤,提示Error: no override found for 'vtkPolyDataMapper'。需要在主方法前添加如下代碼(圖3紅色方框部分)
 圖3  main添加代碼
 
然后在編譯運行,就會運行如下界面,實現Qt成功調用VTK庫,恭喜一切搞定。
圖4 Qt調用vtk測試
 
五、關於本文庫和代碼的說明
對於想要親自動手實踐的開發者可以參考上述第一、二、三、四步,然而對於沒有經驗的開發者,在編譯過程中可能會出現許多錯誤,會浪費大量的精力和時間,讓人很有挫敗感。
為了能盡快地投入到開發中,使用Qt快速調用VTK,本文將上述編譯好的VTK庫和testQtVTK7測試項目代碼進行分享, 請按照下述說明進行快速配置,就可以直接使用了前提是請確保自己的系統是Windows 64系統,VS為2013版本,Qt為  qt-opensource-windows-x86-msvc2013_64-5.5.1。因為本文生成的VTK是64位Relese版本,使用vs2013編譯的,不滿足黃色部分條件可能會出現錯誤,無法調用,即使滿足操作系統、VS版本,使用不同的Qt版本也有可能出錯。(猜測是VTK與Qt版本不兼容,畢竟這兩者更新的都挺頻繁,是否適用還看運氣和緣分)
 
為方便讀者獲取最新代碼,本文將項目公布在Github上,讀者可自行下載,網址為: https://github.com/tianhu9102/testQtVTK7
或者可以在百度雲盤上下載,如下圖5所示,鏈接: http://pan.baidu.com/s/1kVKJEnH   密碼:m85v
 
 圖5 VTK庫與測試代碼分享頁面
 
下載完畢后,請將 VTK.rar解壓到如下目錄(圖6),並配置環境變量:  C:\Program Files\VTK\bin
 
圖6 VTK解壓目錄
 
使用Qt Creator打開測試項目,在選項中取消Debug選項(圖7,本文編譯的vtk為release版本,如選擇debug將會出錯),點擊Configure Project,最終就會成功運行項目。
 
 圖7 Qt編譯選項
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM