eigen error # g2o 优化时 程序Segmentation fault

eigen error

/usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.

服了这个库

编译的时候没有报错,运行的时候报错,出错的地方是结构体里面有定义Eigen的变量,按照错误提示里面的链接修改了也不行

别的地方也有用这个库和结构体的,对比一下发现Cmakelist.txt有些不同,把下面这几行注释掉就好了

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3")

set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -march=native")

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -march=native")

g2o 优化时 程序Segmentation fault

解决了上面的问题,orbslam运行时突然中止在位姿优化的地方了Optimizer.cc。很是苦恼。

gdb调试发现程序中止的地方是在g2o优化函数的部分

最后找到原因是我在使用orbslam3的时候调用了orbslam2对应的libg2o.so库

改成orbslam3里面的g2o库就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值