100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题

解决PCL点云处理使用vtk可视化,"no override found for vtk actor"问题

电脑配置环境

VS2015+PCL1.8.1+WIN10 64系统 VTK为8.0.0版
程序调试为:release X64

问题如下:

在使用PCL可视化时,部分功能需要用到VTK,但调试时遇到问题如下:
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题Error:no override found for vtk actor

在网上搜了一下,相关解决方法,提示程序开头添加
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL);

运行后,发现还是报错如下:
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题
尝试网上的方法把VTK_MODULE_INIT(vtkRenderingOpenGL)改为VTK_MODULE_INIT(vtkRenderingOpenGL2),发现还是报错如下:
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题
于是我打开了VTK对应的lib文件,发现
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题
而我的工程链接器添加的也是vtkRenderingOpenGL-8.0.lib,因此网上解决的方法并不适用。
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题

解决方法

1、在自己电脑上搜索“opengl32.lib",注意大小写

我这电脑上的opengl32.lib是在matlab安装目录下找到的,如果你没有,可以自行百度搜索下载,注意与自己的系统版本保持一致。实在懒的下载,我会在文末挂出下载链接(看我多么体贴,哈哈^ ^)其实是想挣点积分嘛,一积分,就可怜可怜孩子吧。
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题

此处注意一定要注意大小写(重要的事情说三遍!)选择全为小写的opengl32.lib的文件,并将其复制到你工程VC++目录的添加的库目录中任意一目录下即可:

100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题
我自己将其放在了VTK的lib文件下:
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题

2、在工程链接器中添加"opengl32.lib":

100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题

3、在程序开头添加头文件如下:

include <vtkAutoInit.h>

VTK_MODULE_INIT(vtkRenderingOpenGL);

VTK_MODULE_INIT(vtkRenderingFreeType);

VTK_MODULE_INIT(vtkInteractionStyle);

100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题
最后编译,基本上是可以解决的,下面是我可视化的结果:
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题

总结

在pcl使用vtk可视化,遇到"no override found for vtk actor"问题,请在工程链接器中添加"opengl32.lib“即可。

这也是我第一次在csdn上写博客,写的有些啰嗦,请大家多多包含! O.O 如果不包含,那就只有送一句马老师名言:
100%解决PCL点云处理使用vtk可视化,“no override found for vtk actor“问题
开个玩笑啦,写完这我要去吃饭了,冲啊!!!!!

lib下载链接

链接: [link] https://download.csdn.net/download/weixin_40493561/13071321