高翔博士的博客地址(《视觉SLAM十四讲》作者)
坑1:对点云降采样时,使用了filter模块(pcl/filters/voxel_grid.h),致使链接到slambase库的部分程序运行时出现segment fault.
问题解答:比较统一的观点是因为在CmakeLists.txt文件中添加了“-std=c++11”的编译命令Stack Overflow问题解答。真实的问题是boost模块与pcl库冲突。
解决方法:去掉set(CMAKE_CXX_FLAG “std=c++11”)即去掉c++11的支持;
不要使用debug模式编译;
将CMAKE_CXX_FLAG_DEBUG 设置为“$ENV{CXXFLAGS} -O1 -Wall -g -ggdb”这条的编译指令是为了生成能够使用gdb调试的可执行程序。
以上三种方法亲测都有效。
网友评论