Open subshine opened 5 years ago
请确认你机器上是否有其他版本的g2o,包括:
都有,那是不只有在cmakeLists 连接到本工程3rdparty下的g2o就可以了?
是的,需要链接本代码库的g2o,确保版本一致。
@gaoxiang12 if there is a g2o that comes with ros how to make sure that the g2o used is from the 3rdparty of this project.
@Rajat-Arora You can specify the g2o headers and libraries in CMakeLists.txt using the directories like /usr/local/lib/libg2oxxx.so instead of using the default find_package command.
calling bundle adjustment by g2o pose_estimation_3d2d: /usr/include/eigen3/Eigen/src/Core/MapBase.h:195: void Eigen::MapBase<Derived, 0>::checkSanity(typename Eigen::internal::enable_if<(Eigen::internal::traits::Alignment > 0), void>::type) const [with T = Eigen::Map<Eigen::Matrix<double, 2, 6>, 32, Eigen::Stride<0, 0> >; Derived = Eigen::Map<Eigen::Matrix<double, 2, 6>, 32, Eigen::Stride<0, 0> >; typename Eigen::internal::enable_if<(Eigen::internal::traits::Alignment > 0), void >::type = void]: Assertion `( ((internal::UIntPtr(m_data) % internal::traits::Alignment) == 0) || (cols() rows() minInnerStride sizeof(Scalar)) < internal::traits::Alignment ) && "data is not aligned"' failed.
Signal: SIGABRT (Aborted)
bundleAdjustmentG2O(pts_3d_eigen, pts_2d_eigen, K, pose_g2o);运行这句话老是触发eigen的警告 eigen_assert(( ((internal::UIntPtr(m_data) % internal::traits::Alignment) == 0)
|| (cols() rows() minInnerStride * sizeof(Scalar)) < internal::traits::Alignment ) && "data is not aligned");
一会能运行一会不能运行,这是什么错误,高博?