1. 程式人生 > >VTK6.3結合QT5.4在VS2013上編譯安裝一些問題和解決

VTK6.3結合QT5.4在VS2013上編譯安裝一些問題和解決

寫在前面

之前學習時一直使用的是VTK5.10.1版本,現在要使用VTK6.3安裝過程中發現了一些問題,找了很久才終於解決,因此寫下來相關問題與解決方法與大家分享,希望能給大家帶來幫助。
關於VTK的安裝可以參考東靈的教程:http://blog.csdn.net/www_doling_net/article/details/8532742
本文的相關環境:
VTK-6.3.0
qt-opensource-windows-x86-msvc2013_64_opengl-5.4.2
vs2013 ultimate

CMake配置中的問題

vtk的QtWebKit問題

勾選 VTK_Group_Qt ☑ (check),再Configure,遇到 錯誤將vtk的版本改為5,然後繼續Configure,就會遇到一些qt方面的錯誤
錯誤原因是vtk6.3結合qt5時,QtWebKit模組會有問題,這是vtk自身的bug,後續可能會修復
可以參考:

http://www.linkedin.com/pulse/vtk-63-qt-56-superior-waldo-valenzuela

解決方法

刪除 VTK-6.3.0\GUISupport\QtWebkit
再重新Configure

VS2013編譯時的問題

vtk的mfc問題

在vs2013上編譯vtk,當cmake配置時勾選了Module_vtkGUISupportMFC,會出現編譯失敗十幾個專案,主要是vtkGUISupportMFC無法編譯通過。會看到vtkGUISupportMFC專案有如下錯誤資訊Building an MFC project for a non-Unicode character set is deprecated
其原因是用於多位元組字元編碼(MBCS)的MFC庫(DLL)不再包含於Visual Studio中,但是可用作外掛,參考官方詳細資訊:

http://blogs.msdn.com/b/vcblog/archive/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx

解決方法

1、使用官方的方法,下載安裝支援多位元組字元編碼(MBCS)的外掛,這能解決編譯其他MFC專案的問題
下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=40770
2、修改vtkGUISupportMFC專案屬性,本文采用的就是這種方法,主要是簡單快捷
既然vs2013移除了原生對MBCS的支援而廣泛採用unicode編碼我們就把vtk中vtkGUISupportMFC專案字符集屬性設定為unicode字符集,如下圖:
這裡寫圖片描述


再重新編譯