[英]std::bad_alloc while using point cloud library
下面的点云库版本 1.11.1 代码是按照一些教程编写的。 它构建成功,但运行后崩溃。 调试时抛出 std::bad_alloc
pcl::visualization::CloudViewer viewer("name");
谁能帮助我?
#include<iostream>
#include<pcl/io/pcd_io.h>
#include<pcl/point_types.h>
#include<pcl/visualization/cloud_viewer.h>
int main()
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
cloud->width = 5;
cloud->height = 1;
cloud->is_dense = false;
cloud->points.resize(cloud->width * cloud->height);
for (std::size_t i = 0; i < cloud->points.size(); i++)
{
cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
cloud->points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);
}
pcl::io::savePCDFileASCII("test_pcd.pcd", *cloud);
std::cerr << "saved" << cloud->points.size() << "data points to test_pcd.pcd" << std::endl;
for (std::size_t i = 0; i < cloud->points.size(); i++)
std::cerr << " " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z << std::endl;
const std::string name = "nb";
pcl::visualization::CloudViewer viewer("name");
viewer.showCloud(cloud);
while (!viewer.wasStopped())
{
}
return 0;
}
您正在“调试”配置中使用 pcl_visualization 库的发布版本(从调用堆栈的屏幕截图中可以看到)。 尝试链接调试(pcl_visualizationd.dll)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.