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。

posted @ 2019-10-31 11:38  DH_HUSTer  阅读(149)  评论(1编辑  收藏  举报