SLAM十四讲点云实践中段错误核心转储解决方法

SLAM十四讲点云实践中段错误核心转储解决方法

程序运行结果如下图:
这里写图片描述

使用gdb调试

gdb ./build/pointcloud_mapping 

调试结果如下:
SLAM十四讲点云实践中段错误核心转储解决方法_第1张图片

发现都跟容器vector有关。
想到上学期做作业时遇到的错误: 在矩阵运算时调用了 Eigen 库,为了提高运算速度,向量化必须要求向量是以 16 字节即 128bit 对齐的方式分配内存空间,所以针对这个问题,容器需要使用 eigen 自己定义的内存分配器。对 Eigen 中的固定大小的类使用 STL 容器的时候,如果直接使用就会出错。此时应加上头文件include ,并在定义 STL 容器时做如下修改:
比如修改前:

std::vector

修改后:

std::vector>

故在该程序中,加上头文件,并将所有
std::vector 都改为:
std::vector>(不是真的问号,根据变量类型而定)


你可能感兴趣的:(SLAM十四讲点云实践中段错误核心转储解决方法)