In file included from /usr/include/eigen3/Eigen/Core:439:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘struct Eigen::internal::traits<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’:
/usr/include/eigen3/Eigen/src/Core/Product.h:115:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>’
/usr/include/eigen3/Eigen/src/Core/Product.h:147:7: required from ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:71:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:19:35: required from here
/usr/include/eigen3/Eigen/src/Core/Product.h:29:127: error: no type named ‘ReturnType’ in ‘struct Eigen::ScalarBinaryOpTraits<double, float, Eigen::internal::scalar_product_op<double, float> >’
s<typename traits<LhsCleaned>::Scalar, typename traits<RhsCleaned>::Scalar>::ReturnType Scalar;
^~~~~~
In file included from /usr/include/eigen3/Eigen/Core:435:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’:
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’
/usr/include/eigen3/Eigen/src/Core/Product.h:115:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>’
/usr/include/eigen3/Eigen/src/Core/Product.h:147:7: required from ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:71:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:19:35: required from here
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:83:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::coeff’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::coeff;
^~~~~
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:84:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::coeffByOuterInner’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::coeffByOuterInner;
^~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:85:26: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::operator()’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::operator();
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:86:26: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::operator[]’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::operator[];
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:87:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::x’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::x;
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:88:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::y’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::y;
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:89:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::z’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::z;
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:90:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}::w’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>, 0>}’
using Base::w;
^
In file included from /usr/include/eigen3/Eigen/Core:436:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h: In instantiation of ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’:
/usr/include/eigen3/Eigen/src/Core/Product.h:115:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>’
/usr/include/eigen3/Eigen/src/Core/Product.h:147:7: required from ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:71:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:19:35: required from here
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:75:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::coeff’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’
using Base::coeff;
^~~~~
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:78:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::eval’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’
using Base::eval;
^~~~
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:81:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::operator*=’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’
using Base::operator*=;
^~
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:82:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::operator/=’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’
using Base::operator/=;
^~
In file included from /usr/include/eigen3/Eigen/Core:439:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘struct Eigen::internal::traits<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >’:
/usr/include/eigen3/Eigen/src/Core/Product.h:115:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0, 3>’
/usr/include/eigen3/Eigen/src/Core/Product.h:147:7: required from ‘class Eigen::ProductImpl<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0, Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:71:7: required from ‘class Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>’
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:1340:69: required from ‘static Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::ResultType Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::run(const TransformType&, const MatrixType&) [with TransformType = Eigen::Transform<double, 3, 1>; MatrixType = Eigen::Matrix<float, 4, 1>; int RhsCols = 1; Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::ResultType = Eigen::Matrix<float, 4, 1>]’
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:442:80: required from ‘const typename Eigen::internal::transform_right_product_impl<Eigen::Transform<Scalar, Dim, Mode, _Options>, OtherDerived>::ResultType Eigen::Transform<Scalar, Dim, Mode, _Options>::operator*(const Eigen::EigenBase<OtherDerived>&) const [with OtherDerived = Eigen::Matrix<float, 4, 1>; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0; typename Eigen::internal::transform_right_product_impl<Eigen::Transform<Scalar, Dim, Mode, _Options>, OtherDerived>::ResultType = Eigen::Matrix<float, 4, 1>]’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:25:34: required from here
/usr/include/eigen3/Eigen/src/Core/Product.h:29:127: error: no type named ‘ReturnType’ in ‘struct Eigen::ScalarBinaryOpTraits<double, float, Eigen::internal::scalar_product_op<double, float> >’
s<typename traits<LhsCleaned>::Scalar, typename traits<RhsCleaned>::Scalar>::ReturnType Scalar;
^~~~~~
In file included from /usr/include/eigen3/Eigen/Core:435:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >’:
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >’
/usr/include/eigen3/Eigen/src/Core/Product.h:115:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0, 3>’
/usr/include/eigen3/Eigen/src/Core/Product.h:147:7: required from ‘class Eigen::ProductImpl<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0, Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:71:7: required from ‘class Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>’
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:1340:69: required from ‘static Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::ResultType Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::run(const TransformType&, const MatrixType&) [with TransformType = Eigen::Transform<double, 3, 1>; MatrixType = Eigen::Matrix<float, 4, 1>; int RhsCols = 1; Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::ResultType = Eigen::Matrix<float, 4, 1>]’
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:442:80: required from ‘const typename Eigen::internal::transform_right_product_impl<Eigen::Transform<Scalar, Dim, Mode, _Options>, OtherDerived>::ResultType Eigen::Transform<Scalar, Dim, Mode, _Options>::operator*(const Eigen::EigenBase<OtherDerived>&) const [with OtherDerived = Eigen::Matrix<float, 4, 1>; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0; typename Eigen::internal::transform_right_product_impl<Eigen::Transform<Scalar, Dim, Mode, _Options>, OtherDerived>::ResultType = Eigen::Matrix<float, 4, 1>]’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:25:34: required from here
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:83:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::coeff’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::coeff;
^~~~~
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:84:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::coeffByOuterInner’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::coeffByOuterInner;
^~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:85:26: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::operator()’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::operator();
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:86:26: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::operator[]’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::operator[];
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:87:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::x’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::x;
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:88:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::y’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::y;
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:89:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::z’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::z;
^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h:90:17: error: no members matching ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}::w’ in ‘Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseCoeffsBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>, 0>}’
using Base::w;
^
In file included from /usr/include/eigen3/Eigen/Core:436:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h: In instantiation of ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >’:
/usr/include/eigen3/Eigen/src/Core/Product.h:115:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0, 3>’
/usr/include/eigen3/Eigen/src/Core/Product.h:147:7: required from ‘class Eigen::ProductImpl<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0, Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:71:7: required from ‘class Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0>’
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:1340:69: required from ‘static Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::ResultType Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::run(const TransformType&, const MatrixType&) [with TransformType = Eigen::Transform<double, 3, 1>; MatrixType = Eigen::Matrix<float, 4, 1>; int RhsCols = 1; Eigen::internal::transform_right_product_impl<TransformType, MatrixType, 1, RhsCols>::ResultType = Eigen::Matrix<float, 4, 1>]’
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:442:80: required from ‘const typename Eigen::internal::transform_right_product_impl<Eigen::Transform<Scalar, Dim, Mode, _Options>, OtherDerived>::ResultType Eigen::Transform<Scalar, Dim, Mode, _Options>::operator*(const Eigen::EigenBase<OtherDerived>&) const [with OtherDerived = Eigen::Matrix<float, 4, 1>; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0; typename Eigen::internal::transform_right_product_impl<Eigen::Transform<Scalar, Dim, Mode, _Options>, OtherDerived>::ResultType = Eigen::Matrix<float, 4, 1>]’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:25:34: required from here
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:75:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}::coeff’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}’
using Base::coeff;
^~~~~
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:78:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}::eval’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}’
using Base::eval;
^~~~
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:81:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}::operator*=’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}’
using Base::operator*=;
^~
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:82:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}::operator/=’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Block<const Eigen::Matrix<double, 4, 4>, 3, 4, false>, Eigen::Matrix<float, 4, 1>, 0> >}’
using Base::operator/=;
^~
In file included from /usr/include/eigen3/Eigen/Core:366:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 3, 1>; Src = Eigen::Matrix<float, 4, 1>; Func = Eigen::internal::assign_op<double, float>]’:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:732:41: required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; Derived = Eigen::Matrix<double, 3, 1>]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:537:19: required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; Derived = Eigen::Matrix<double, 3, 1>]’
/usr/include/eigen3/Eigen/src/Core/Matrix.h:377:29: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; _Scalar = double; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:25:34: required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:33:40: error: static assertion failed: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
^
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:190:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
EIGEN_STATIC_ASSERT( \
^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:833:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE’
EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(ActualDstTypeCleaned,Src)
^
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:33:40: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
^
/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:816:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
EIGEN_STATIC_ASSERT((Eigen::internal::has_ReturnType<ScalarBinaryOpTraits<LHS, RHS,BINOP> >::value), \
^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:834:3: note: in expansion of macro ‘EIGEN_CHECK_BINARY_COMPATIBILIY’
EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/tansform.dir/build.make:75: recipe for target 'CMakeFiles/tansform.dir/transform.cpp.o' failed
make[2]: *** [CMakeFiles/tansform.dir/transform.cpp.o] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/tansform.dir/all' failed
make[1]: *** [CMakeFiles/tansform.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
矩阵类型不匹配,比如Eigen::Vector4f和Eigen::Vector4d
In file included from /usr/include/eigen3/Eigen/Core:366:0,
from /usr/include/eigen3/Eigen/Dense:1,
from /media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:1:
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<float, 3, 1>; Src = Eigen::Matrix<float, 4, 1>; Func = Eigen::internal::assign_op<float, float>]’:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:732:41: required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; Derived = Eigen::Matrix<float, 3, 1>]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:537:19: required from ‘Eigen::PlainObjectBase<Derived>::PlainObjectBase(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; Derived = Eigen::Matrix<float, 3, 1>]’
/usr/include/eigen3/Eigen/src/Core/Matrix.h:377:29: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 4, 1>; _Scalar = float; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’
/media/zcw/黑桃k-固态/SLAM/小六/视觉惯性SLAM/第一部分 SLAM基础/第六章 三维空间中刚体旋转/6-transform/transform.cpp:25:34: required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:33:40: error: static assertion failed: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
^
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:190:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
EIGEN_STATIC_ASSERT( \
^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:833:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE’
EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(ActualDstTypeCleaned,Src)
^
CMakeFiles/tansform.dir/build.make:75: recipe for target 'CMakeFiles/tansform.dir/transform.cpp.o' failed
make[2]: *** [CMakeFiles/tansform.dir/transform.cpp.o] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/tansform.dir/all' failed
make[1]: *** [CMakeFiles/tansform.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
错误代码:
Eigen::Vector3f P_c = T_cw * P_w;
修改代码:
Eigen::Vector4f P_c = T_cw * P_w;
其中T_cw是四维欧式变换矩阵,P_w是四向量的空间坐标,所以改成Eigen::Vector4f