VTK5.10、VTK6.3和QT4.8、QT5.5在VS2013、VS2010不同平臺搭建的心得
集中版本的整合:
QT5和VS2013是64位的平臺,VS2013執行QT的時候必須改成x64平臺執行
QT4、QT5和VS2010是32位的平臺
1.首先我在VS2013整合QT5.5的時候,新建了QT的一個程式,執行的時候一直提示
模組計算機X86和目標計算機X64衝突
解決方案:出現這種問題的時候必須要檢查當前的各個模組是不是都是相容的,如:是不是都是32位的或64位,如果都是一樣位數的話則執行下面步驟。
專案右鍵,屬性》配置管理選擇》x64;
專案右鍵,屬性》聯結器》高階》目標計算機》MachineX64;
右鍵專案選擇“Change QT Version”---》選擇當前的QT版本,沒有的話就在解決方案右鍵,選擇》
清理解決方案,重新編譯即可,一定要清理解決方案,否則不會成功
附:如果不是相同的位數的軟體,則需要下載或自己通過原始檔編譯,如QT在VS2010中只有32位,則必須要自己搭建64位的QT平臺。
a.配置QT
所有的版本都是一樣的,但是在QT5和VS整合的時候需要在VS中配置QT路徑變數(VS2010整合QT4就不會出現問題,因為都是32位的環境,而且不需要配置路徑,只要安裝即可,自動會設定好路徑)
(1)下載對應位數的QT版本進行安裝,注意這裡的QT是64位的
(2)配置計算機系統的環境變數
path:C:\Qt\Qt5.5.0\5.5\msvc2010\bin
新建QTDIR系統變數,與嵌入到VS的QT的路徑變數設定保持一致
(3)addin安裝後開啟vs,會看到有QT的選單項,選擇,與上面的QTDIR路徑保持一致
(4)配置完後重啟(不知道要不要重啟,好像不重啟會出問題,所以還是重啟下吧,如果沒有重啟也能配置成功在下面評論或私信下我)
b.VTK安裝
(1)然後在官網上下載VTK的兩個檔案,一個是資原始檔src,一個是資料檔案data,分別解壓;
(2)使用CMAKE進行編譯,選擇對應的選項(不同的VTK版本選項不同)
基本選項:
VTK5.10版本選項:
Buid_SHARED_LIBS:編譯生成連結動態庫;
CMAKE_INSTALL_PREFIX:Install單獨生成的資料夾路徑,建議和src.bin同意目錄下新建整合檔案,會生成bin,include,lib,plugins,share資料夾;
QT_QMAKE_EXECUTABLE:載入QT版本中的bin目錄下qmake.exe;
VTK_DATA_ROOT:載入資料資料夾
VTK_USE_QT
VTK_USE_QTCHARTS
手動新增變數:VTK_DIR(vtk的bin目錄)、VTK_USE_GUISUPPORT(bool)
VTK6以上版本選項:
Buid_SHARED_LIBS:編譯生成連結動態庫;
CMAKE_INSTALL_PREFIX:Install單獨生成的資料夾路徑,建議和src.bin同意目錄下新建整合檔案,會生成bin,include,lib,plugins,share資料夾;
QT_QMAKE_EXECUTABLE:載入QT版本中的bin目錄下qmake.exe;
VTK_DATA_ROOT:載入資料資料夾;
VTK_GROUP_QT,VTK_QT_VERSION:選擇5,
手動新增變數:VTK_DIR(vtk的bin目錄)、CMAKE_PREFIX_PATH(QT\..\msvc2010_opengl)(3)在CMAKE生成的bin目錄下,用vs開啟vtk.sln檔案,在release和debug兩個環境下生成解決方案,最好先生成Debug版本,觀察有沒有錯誤;
(4)以管理員的身份開啟VTK.sln,僅生成install專案,生成成功的話就會在install資料夾存在bin,include,lib,plugins,share檔案,這是則說明VTK安裝成功;
c.QT和VTK整合
release版本中的QVTKWidgetPlugin.lib,QVTKWidgetPlugin.dll,拷貝到資料夾D:\Qt\Qt5.3.2\5.3\msvc2010_opengl\plugins\designer下,就可以在QT design中看到VTKWidgts選項,則說明QT和VTK整合成功。
e.執行VTK的時候,出現如下錯誤
1.
2.無法啟動此程式,因為計算機中丟失 vtkRenderingOpenGL-6.3.dll。嘗試重新安裝該程式以解決此問題。
原因:是由於VS中沒有載入VTK的.dll檔案,有三種解決方案
(1).用VS2010在debug下右鍵Install,選擇僅生成Install,在install生成的bin檔案中含有所有vtk的.dll庫檔案,把該路徑載入到計算機的系統變數path路徑中;
在沒有Install生成之前,可以使用下面兩種方法
(2). 在VS2010中的當前執行的專案->屬性->除錯->工作目錄,設定成cmake生成的bin檔案下的debug檔案,因為生成解決方案的時候在debug目錄中生成了很多VTK的.dll檔案,可以載入進來;
(3).把生成的debug目錄下的.dll檔案拷貝到系統的C:\Windows\System32資料夾中;
以上三種方法任選一種,在重新生成則會成功!!!
注意:一旦在編譯的時候出現錯誤千萬不要全部重新編譯,只要找到對應出錯的專案重新生成就可以,不然很耗時