ros-industrial / industrial_core

ROS-Industrial core communication packages (http://wiki.ros.org/industrial_core)
153 stars 180 forks source link

build error on industrial_trajectory_filter #245

Closed shenyan0712 closed 4 years ago

shenyan0712 commented 4 years ago

when I built ros-industrial, I got errors. OS is ubutnu 18.04 and ROS version is melodic. I don't know what happened. The messages are below:

In file included from /opt/ros/melodic/include/class_loader/class_loader_core.hpp:47:0,
                 from /opt/ros/melodic/include/class_loader/class_loader.hpp:46,
                 from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/include/industrial_trajectory_filters/filter_base.h:40,
                 from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/include/industrial_trajectory_filters/n_point_filter.h:35,
                 from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/src/n_point_filter.cpp:34:
/opt/ros/melodic/include/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = industrial_trajectory_filters::NPointFilter<industrial_trajectory_filters::MessageAdapter>; B = planning_request_adapter::PlanningRequestAdapter]’:
/home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/src/n_point_filter.cpp:127:78:   required from here
/opt/ros/melodic/include/class_loader/meta_object.hpp:196:12: error: invalid new-expression of abstract class type ‘industrial_trajectory_filters::NPointFilter<industrial_trajectory_filters::MessageAdapter>’
     return new C;
            ^~~~~
In file included from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/src/n_point_filter.cpp:34:0:
/home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/include/industrial_trajectory_filters/n_point_filter.h:45:9: note:   because the following virtual functions are pure within ‘industrial_trajectory_filters::NPointFilter<industrial_trajectory_filters::MessageAdapter>’:
   class NPointFilter : public industrial_trajectory_filters::FilterBase<T>
         ^~~~~~~~~~~~
In file included from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/include/industrial_trajectory_filters/filter_base.h:39:0,
                 from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/include/industrial_trajectory_filters/n_point_filter.h:35,
                 from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/src/n_point_filter.cpp:34:
/home/arczee/workspace/ws_moveit/src/moveit/moveit_core/planning_request_adapter/include/moveit/planning_request_adapter/planning_request_adapter.h:67:16: note:    virtual void planning_request_adapter::PlanningRequestAdapter::initialize(const ros::NodeHandle&)
   virtual void initialize(const ros::NodeHandle& node_handle) = 0;
                ^~~~~~~~~~
make[2]: *** [CMakeFiles/industrial_trajectory_filters.dir/src/n_point_filter.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /opt/ros/melodic/include/class_loader/class_loader_core.hpp:47:0,
                 from /opt/ros/melodic/include/class_loader/class_loader.hpp:46,
                 from /home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/src/add_smoothing_filter.cpp:38:
/opt/ros/melodic/include/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = industrial_trajectory_filters::AddSmoothingFilter; B = planning_request_adapter::PlanningRequestAdapter]’:
/home/arczee/workspace/ws_moveit/src/industrial_trajectory_filters/src/add_smoothing_filter.cpp:141:78:   required from here
/opt/ros/melodic/include/class_loader/meta_object.hpp:196:12: error: invalid new-expression of abstract class type ‘industrial_trajectory_filters::AddSmoothingFilter’
     return new C;
gavanderhoorn commented 4 years ago

I'm guessing this was closed because we already have #244.