带有 PCLVisualizer 异常的 QVTKWidget SetRenderWindow()

QVTKWidget SetRenderWindow() with PCLVisualizer Exception

我是 PCL 的新人。我想用 PCL 和 VTK int Qt 5.9.6 MSVC 2017 64 位环境构建一个项目。

我的代码是这样的:

// include file
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer;

...

// source code file
viewer.reset(new pcl:visualization::PCLVisualizer("viewer", false));
ui->qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
viewer->setupInteractor(ui->qvtkWidget->GetInteractor(), ui->qvtkWidget- >GetRenderWindow());

可以编译但是当我开始调试时出现错误提示:

The inferior stopped because it triggered an exception. Stopped in thread 0 by: Exception at 0x7ffcb50b1f28, code: 0xc0000005: read access violation at 0x25, flags=0x0 (first chance).

并停在行ui->qvtkWidget->SetRenderWindow(viewer->getRenderWindow());

经过跟踪调试,发现问题是viewer->getRenderWindow()->GetInteractor()得到的是0x25的值,不知道是怎么回事,网上很多例子都是这样写的。同样的程序在 ubuntu 18.04.

上运行良好

感谢任何提示。

最后发现这是VTK版本问题。原来的版本是8.1.1,切换到8.0.1就可以正常运行了。但是不知道为什么在Linux8.1.1.

中还是可以正常调试