VTK使用過程中遇到的問題

環境:VTK8.90,Win10_x64,Qt5.11.1,Visual studio 14 2015,CMake 3.16.0,

參考書籍:《VTK圖形圖像開發進階》

項目生成過程中按照書中所載和自身需要選擇對應的CMake配置,編譯過程中選擇正確的編譯版本,沒有出現錯誤。(與之前不同,之前在編譯較低的VTK版本是總是會出現各種各樣在錯誤,需要花時間去解決)

還有就是在輸出VTK庫時一定要記得以管理員身份打開項目並編譯INSTALL工程。

以上比較簡單。

問題:

創建一個簡單的VTK程序

1.CMakeLists.txt的編寫

在以往低版本的VTK中,INCLUDE()語句是沒有問題的,但是到這個版本後會出現問題:

CMakeLists.txt
CMake生成工程過程中的問題

解決方法:

“必須熟悉新版本的vtk的cmake文件命令,比如老版本的例子中的vtk_module_configinclude(${VTK_USE_FILE})在新版8.90.0中都不適用了。”

將INCLUDE()語句替換爲INCLUDE_DIRECTORIES()語句:

更新後的CMakeLists.txt

然後CMake正常生成。

2.程序編譯沒問題,運行過程中出現的錯誤

首先是.dll文件尋找不到的問題,這個問題很好解決,按書中所講的方法或者直接在系統環境變量path中添加VTK的dll庫目錄都可以解決。

再者是程序運行時error:no override found for 'vtkRenderWindow'的錯誤。

 參考:https://blog.csdn.net/q1302182594/article/details/45270891

            https://blog.csdn.net/qq_15191677/article/details/68946807

            https://blog.csdn.net/imsaws/article/details/15500903

我的選擇是

添加頭文件和宏定義:

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);

 

源文件

 在VTK的編譯過程中貌似使用到的是OpenGL2,所以要使用vtkRenderingOpenGL2。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章