带有 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.
中还是可以正常调试
我是 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.
中还是可以正常调试