寫在前面
之前學習時一直使用的是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字元集,如下圖:
再重新編譯