Я пытаюсь создать пакет ROS, который зависит от tf2_sensor_msgs. tf2_sensor_msgs зависит от Eigen3. Eigen3 доступен в / usr / include / eigen3. CMakeLists.txt в порядке, пакет создается на другой машине.
Некоторая информация о системе:
- ROS Kineti c
pkg-config --modversion eigen3
выходы " 3.3.7 " - ubuntu 16.04
Я получаю много таких ошибок при запуске catkin_make
:
In file included from /usr/include/eigen3/Eigen/SparseCore:63:0,
from /usr/include/eigen3/Eigen/Sparse:26,
from /usr/include/eigen3/Eigen/Eigen:2,
from /opt/ros/kinetic/include/tf2_sensor_msgs/tf2_sensor_msgs.h:36,
from /home/<path_to_file>/<source_file>.cpp:11:
/usr/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h:17:93: error: ‘RealScalar’ does not name a type
bool SparseMatrixBase<Derived>::isApprox(const SparseMatrixBase<OtherDerived>& other, const RealScalar &prec) const
^~~~~~~~~~
/usr/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h:17:111: error: invalid use of incomplete type ‘class Eigen::SparseMatrixBase<Derived>’
bool SparseMatrixBase<Derived>::isApprox(const SparseMatrixBase<OtherDerived>& other, const RealScalar &prec) const
In file included from /usr/include/eigen3/Eigen/SparseCore:59:0,
from /usr/include/eigen3/Eigen/Sparse:26,
from /usr/include/eigen3/Eigen/Eigen:2,
from /opt/ros/kinetic/include/tf2_sensor_msgs/tf2_sensor_msgs.h:36,
from /home/<path_to_file>/<source_file>.cpp:11:
/usr/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h:232:155: error: wrong number of template arguments (1, should be 2)
static void run(DynamicSparseMatrix<DestScalar,ColMajor,StorageIndex>& dst, const SrcXprType &src, const internal::assign_op<typename DstXprType::Scalar> &/*func*/)
Что может к этому привести?