Skip to content

编译问题error: invalid cast to abstract class type #29

@ysingfun

Description

@ysingfun

贺博你好!
我在编译LIGO时遇到如下问题,请问该怎么解决?
如下是编译输出:

lvi@lvi-Inspiron-15-3567:~/Desktop/ligo/LIGO_ws_1218$ catkin_make
Base path: /home/lvi/Desktop/ligo/LIGO_ws_1218
Source space: /home/lvi/Desktop/ligo/LIGO_ws_1218/src
Build space: /home/lvi/Desktop/ligo/LIGO_ws_1218/build
Devel space: /home/lvi/Desktop/ligo/LIGO_ws_1218/devel
Install space: /home/lvi/Desktop/ligo/LIGO_ws_1218/install
####
#### Running command: "make cmake_check_build_system" in "/home/lvi/Desktop/ligo/LIGO_ws_1218/build"
####
####
#### Running command: "make -j4 -l4" in "/home/lvi/Desktop/ligo/LIGO_ws_1218/build"
####
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target _ligo_generate_messages_check_deps_LocalSensorExternalTrigger
[ 10%] Built target ligo_generate_messages_eus
[ 15%] Built target ligo_generate_messages_lisp
[ 20%] Built target ligo_generate_messages_cpp
[ 30%] Built target ligo_generate_messages_py
[ 35%] Built target ligo_generate_messages_nodejs
[ 40%] Building CXX object LIGO./CMakeFiles/ligo_mapping.dir/src/laserMapping.cpp.o
[ 40%] Built target ligo_generate_messages
[ 45%] Building CXX object LIGO./CMakeFiles/ligo_mapping.dir/src/GNSS_Processing_fg.cpp.o
[ 50%] Building CXX object LIGO./CMakeFiles/ligo_mapping.dir/src/NMEA_Processing_fg.cpp.o
[ 55%] Building CXX object LIGO./CMakeFiles/ligo_mapping.dir/src/NMEA_Assignment.cpp.o
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp: In member function ‘bool NMEAProcess::AddFactor(gtsam::Rot3, gtsam::Point3, gtsam::Vector3, Eigen::Vector3d, double, double, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Matrix3d)’:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:473:214: error: invalid cast to abstract class type ‘ligo::NmeaLioGravRelFactor’
  473 |       p_assign->gtSAMgraph.add(ligo::NmeaLioGravRelFactor(P(0), R(frame_num), A(frame_num), O(frame_num), G(frame_num), gravity_init, state_gravity, pos, vel, rot, ba, bg, acc, omg, sqrt_lidar, p_assign->odomNoise)); //LioNoise)); // odomNoiseIMU));
      |                                                                                                                                                                                                                      ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:65,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/nmea_factor/nmea_lio_gravity_rel_factor.hpp:49:7: note:   because the following virtual functions are pure within ‘ligo::NmeaLioGravRelFactor’:
   49 | class NmeaLioGravRelFactor : public gtsam::NoiseModelFactor5<gtsam::Rot3, gtsam::Rot3, gtsam::Vector6, gtsam::Vector12, gtsam::Vector3> //, gtsam::Vector3>
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, gtsam::Rot3, Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, 12, 1, 0, 12, 1>, Eigen::Matrix<double, 3, 1, 0, 3, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:502:90: error: invalid cast to abstract class type ‘ligo::GnssLioFactorNolidar’
  502 |                   state_gravity, delta_t, ba, bg, pre_integration, p_assign->odomNoiseIMU));
      |                                                                                          ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:62,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_lio_factor_nolidar.hpp:51:7: note:   because the following virtual functions are pure within ‘ligo::GnssLioFactorNolidar’:
   51 | class GnssLioFactorNolidar : public gtsam::NoiseModelFactor4<gtsam::Rot3, gtsam::Vector12, gtsam::Rot3, gtsam::Vector12>
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>, gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:520:166: error: invalid cast to abstract class type ‘ligo::NMEAFactor’
  520 |         p_assign->gtSAMgraph.add(ligo::NMEAFactor(P(0), E(0), A(frame_num), R(frame_num), invalid_lidar, values, hat_omg_T, Rex_imu_r, p_assign->robustnmeaNoise_init));
      |                                                                                                                                                                      ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:68,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/nmea_factor/nmea_pos_factor.hpp:50:7: note:   because the following virtual functions are pure within ‘ligo::NMEAFactor’:
   50 | class NMEAFactor : public gtsam::NoiseModelFactor4<gtsam::Rot3, gtsam::Vector3, gtsam::Vector6, gtsam::Rot3>
      |       ^~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 3, 1, 0, 3, 1>, Eigen::Matrix<double, 6, 1, 0, 6, 1>, gtsam::Rot3}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:524:161: error: invalid cast to abstract class type ‘ligo::NMEAFactor’
  524 |         p_assign->gtSAMgraph.add(ligo::NMEAFactor(P(0), E(0), A(frame_num), R(frame_num), invalid_lidar, values, hat_omg_T, Rex_imu_r, p_assign->robustnmeaNoise));
      |                                                                                                                                                                 ^
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:529:139: error: invalid cast to abstract class type ‘ligo::NMEAFactorNolidar’
  529 |       p_assign->gtSAMgraph.add(ligo::NMEAFactorNolidar(R(frame_num), F(frame_num), values, hat_omg_T, Rex_imu_r, p_assign->robustnmeaNoise)); // not work
      |                                                                                                                                           ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:71,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/nmea_factor/nmea_pos_factor_nolidar.hpp:49:7: note:   because the following virtual functions are pure within ‘ligo::NMEAFactorNolidar’:
   49 | class NMEAFactorNolidar : public gtsam::NoiseModelFactor2<gtsam::Rot3, gtsam::Vector12>
      |       ^~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/NMEA_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp: In member function ‘bool GNSSProcess::AddFactor(gtsam::Rot3, gtsam::Point3, gtsam::Vector3, Eigen::Vector3d, double, double, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d, Eigen::Matrix3d)’:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:989:191: error: invalid cast to abstract class type ‘ligo::GnssPsrDoppFactorNoR’
  989 |         p_assign->gtSAMgraph.add(ligo::GnssPsrDoppFactorNoR(A(frame_num), B(frame_num), C(frame_num), E(0), P(0), balance, values, sys_idx, rot * hat_omg_T, p_assign->robustpsrdoppNoise_init));
      |                                                                                                                                                                                               ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:75,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_psr_dopp_factor_nor.hpp:52:7: note:   because the following virtual functions are pure within ‘ligo::GnssPsrDoppFactorNoR’:
   52 | class GnssPsrDoppFactorNoR : public gtsam::NoiseModelFactor5<gtsam::Vector6, gtsam::Vector4, gtsam::Vector1, gtsam::Vector3, gtsam::Rot3>
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 1, 1, 0, 1, 1>, Eigen::Matrix<double, 3, 1, 0, 3, 1>, gtsam::Rot3}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:993:186: error: invalid cast to abstract class type ‘ligo::GnssPsrDoppFactorNoR’
  993 |         p_assign->gtSAMgraph.add(ligo::GnssPsrDoppFactorNoR(A(frame_num), B(frame_num), C(frame_num), E(0), P(0), balance, values, sys_idx, rot * hat_omg_T, p_assign->robustpsrdoppNoise));
      |                                                                                                                                                                                          ^
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1003:182: error: invalid cast to abstract class type ‘ligo::GnssPsrDoppFactorNolidar’
 1003 |         p_assign->gtSAMgraph.add(ligo::GnssPsrDoppFactorNolidar(R(frame_num), F(frame_num), B(frame_num), C(frame_num), values, sys_idx, hat_omg_T, p_assign->robustpsrdoppNoise_init)); // not work
      |                                                                                                                                                                                      ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:77,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_psr_dopp_factor_nolidar.hpp:50:7: note:   because the following virtual functions are pure within ‘ligo::GnssPsrDoppFactorNolidar’:
   50 | class GnssPsrDoppFactorNolidar : public gtsam::NoiseModelFactor4<gtsam::Rot3, gtsam::Vector12, gtsam::Vector4, gtsam::Vector1>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 1, 1, 0, 1, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1007:177: error: invalid cast to abstract class type ‘ligo::GnssPsrDoppFactorNolidar’
 1007 |         p_assign->gtSAMgraph.add(ligo::GnssPsrDoppFactorNolidar(R(frame_num), F(frame_num), B(frame_num), C(frame_num), values, sys_idx, hat_omg_T, p_assign->robustpsrdoppNoise)); // not work
      |                                                                                                                                                                                 ^
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1026:100: error: invalid cast to abstract class type ‘ligo::DdtSmoothFactor’
 1026 |     p_assign->gtSAMgraph.add(ligo::DdtSmoothFactor(C(frame_num-1), C(frame_num), p_assign->ddtNoise));
      |                                                                                                    ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:70,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_ddt_smooth_factor.hpp:54:7: note:   because the following virtual functions are pure within ‘ligo::DdtSmoothFactor’:
   54 | class DdtSmoothFactor : public gtsam::NoiseModelFactor2<gtsam::Vector1, gtsam::Vector1>
      |       ^~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {Eigen::Matrix<double, 1, 1, 0, 1, 1>, Eigen::Matrix<double, 1, 1, 0, 1, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1029:141: error: invalid cast to abstract class type ‘ligo::DtDdtFactor’
 1029 |   p_assign->gtSAMgraph.add(ligo::DtDdtFactor(B(frame_num-1), B(frame_num), C(frame_num-1), C(frame_num), rcv_sys, delta_t, p_assign->dtNoise)); // not work
      |                                                                                                                                             ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:71,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_dt_ddt_factor.hpp:49:7: note:   because the following virtual functions are pure within ‘ligo::DtDdtFactor’:
   49 | class DtDdtFactor : public gtsam::NoiseModelFactor4<gtsam::Vector4, gtsam::Vector4, gtsam::Vector1, gtsam::Vector1>
      |       ^~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 1, 1, 0, 1, 1>, Eigen::Matrix<double, 1, 1, 0, 1, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1058:213: error: invalid cast to abstract class type ‘ligo::GnssLioFactor’
 1058 |       p_assign->gtSAMgraph.add(ligo::GnssLioFactor(P(0), E(0), R(frame_num), A(frame_num), O(frame_num), G(frame_num), gravity_init, state_gravity, pos, vel, rot, ba, bg, acc, omg, sqrt_lidar, p_assign->odomNoise)); //LioNoise)); // odomNoiseIMU));
      |                                                                                                                                                                                                                     ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:65,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_lio_rel_factor.hpp:51:7: note:   because the following virtual functions are pure within ‘ligo::GnssLioFactor’:
   51 | class GnssLioFactor : public gtsam::NoiseModelFactor6<gtsam::Rot3, gtsam::Vector3, gtsam::Rot3, gtsam::Vector6, gtsam::Vector12, gtsam::Vector3>
      |       ^~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 3, 1, 0, 3, 1>, gtsam::Rot3, Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, 12, 1, 0, 12, 1>, Eigen::Matrix<double, 3, 1, 0, 3, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1067:90: error: invalid cast to abstract class type ‘ligo::GnssLioFactorNolidar’
 1067 |                   state_gravity, delta_t, ba, bg, pre_integration, p_assign->odomNoiseIMU));
      |                                                                                          ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:73,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_lio_factor_nolidar.hpp:51:7: note:   because the following virtual functions are pure within ‘ligo::GnssLioFactorNolidar’:
   51 | class GnssLioFactorNolidar : public gtsam::NoiseModelFactor4<gtsam::Rot3, gtsam::Vector12, gtsam::Rot3, gtsam::Vector12>
      |       ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>, gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1089:245: error: invalid cast to abstract class type ‘ligo::GnssCpFactorNoR’
 1089 |         p_assign->gtSAMgraph.add(ligo::GnssCpFactorNoR(E(0), P(0), A(meas_index_sats_final[j]), A(frame_num), B(meas_index_sats_final[j]), B(frame_num), sys_idx_cp[j], invalid_lidar, values, meas_RTex_sats_final[j], p_assign->robustcpNoise_init));
      |                                                                                                                                                                                                                                                     ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:63,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_cp_factor_nor.hpp:50:7: note:   because the following virtual functions are pure within ‘ligo::GnssCpFactorNoR’:
   50 | class GnssCpFactorNoR : public gtsam::NoiseModelFactor6<gtsam::Vector3, gtsam::Rot3, gtsam::Vector6, gtsam::Vector6, gtsam::Vector4, gtsam::Vector4>
      |       ^~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {Eigen::Matrix<double, 3, 1, 0, 3, 1>, gtsam::Rot3, Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1093:240: error: invalid cast to abstract class type ‘ligo::GnssCpFactorNoR’
 1093 |         p_assign->gtSAMgraph.add(ligo::GnssCpFactorNoR(E(0), P(0), A(meas_index_sats_final[j]), A(frame_num), B(meas_index_sats_final[j]), B(frame_num), sys_idx_cp[j], invalid_lidar, values, meas_RTex_sats_final[j], p_assign->robustcpNoise));
      |                                                                                                                                                                                                                                                ^
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1101:240: error: invalid cast to abstract class type ‘ligo::GnssCpFactorNolidar’
 1101 |         p_assign->gtSAMgraph.add(ligo::GnssCpFactorNolidar(R(meas_index_sats_final[j]), F(meas_index_sats_final[j]), R(frame_num), F(frame_num), B(meas_index_sats_final[j]), B(frame_num), sys_idx_cp[j], values, p_assign->robustcpNoise_init)); // not work
      |                                                                                                                                                                                                                                                ^
In file included from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:68,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./include/gnss_factor/gnss_cp_factor_nolidar.hpp:50:7: note:   because the following virtual functions are pure within ‘ligo::GnssCpFactorNolidar’:
   50 | class GnssCpFactorNolidar : public gtsam::NoiseModelFactor6<gtsam::Rot3, gtsam::Vector12, gtsam::Rot3, gtsam::Vector12, gtsam::Vector4, gtsam::Vector4>
      |       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:25,
                 from /usr/local/include/gtsam/nonlinear/Marginals.h:22,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Assignment.h:40,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.h:39,
                 from /home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:37:
/usr/local/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: 	‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>, gtsam::Rot3, Eigen::Matrix<double, 12, 1, 0, 12, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 4, 1, 0, 4, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
  642 |   virtual Vector evaluateError(const ValueTypes&... x,
      |                  ^~~~~~~~~~~~~
/home/lvi/Desktop/ligo/LIGO_ws_1218/src/LIGO./src/GNSS_Processing_fg.cpp:1105:235: error: invalid cast to abstract class type ‘ligo::GnssCpFactorNolidar’
 1105 |         p_assign->gtSAMgraph.add(ligo::GnssCpFactorNolidar(R(meas_index_sats_final[j]), F(meas_index_sats_final[j]), R(frame_num), F(frame_num), B(meas_index_sats_final[j]), B(frame_num), sys_idx_cp[j], values, p_assign->robustcpNoise)); // not work
      |                                                                                                                                                                                                                                           ^
make[2]: *** [LIGO./CMakeFiles/ligo_mapping.dir/build.make:193: LIGO./CMakeFiles/ligo_mapping.dir/src/NMEA_Processing_fg.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [LIGO./CMakeFiles/ligo_mapping.dir/build.make:154: LIGO./CMakeFiles/ligo_mapping.dir/src/GNSS_Processing_fg.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1759: LIGO./CMakeFiles/ligo_mapping.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j4 -l4" failed
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions