git clone https://github.com/fishros/fishbot.git -b v1.0.0 --depth=1
cd fishbot
rosdep install --from-paths src --ignore-src -y -r # 安装依赖
colcon build
鱼哥,我在编译nav2_pure_pursuit_controller这个功能包的时候报错了,错误如下:
In file included from /home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/src/pure_pursuit_controller.cpp:8:
/home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:45:18: error: ‘nav2_core::GoalChecker’ has not been declared
45 | nav2_core::GoalChecker *goal_checker) override;
| ^~~~~~~~~~~
/home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:27:8: error: ‘void nav2_pure_pursuit_controller::PurePursuitController::configure(const WeakPtr&, std::string, std::shared_ptr<tf2_ros::Buffer>, std::shared_ptr<nav2_costmap_2d::Costmap2DROS>)’ marked ‘override’, but does not override
27 | void configure(
| ^~~~~~~~~
/home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:42:36: error: ‘geometry_msgs::msg::TwistStamped nav2_pure_pursuit_controller::PurePursuitController::computeVelocityCommands(const PoseStamped&, const Twist&, int*)’ marked ‘override’, but does not override
42 | geometry_msgs::msg::TwistStamped computeVelocityCommands(
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:58:8: error: ‘void nav2_pure_pursuit_controller::PurePursuitController::setSpeedLimit(const double&, const bool&)’ marked ‘override’, but does not override
58 | void setSpeedLimit(const double &speed_limit,
| ^~~~~~~~~~~~~
/home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/src/pure_pursuit_controller.cpp:116:16: error: ‘nav2_core::GoalChecker’ has not been declared
116 | nav2_core::GoalChecker *goal_checker) {
| ^~~~~~~~~~~
In file included from /opt/ros/foxy/include/class_loader/class_loader_core.hpp:57,
from /opt/ros/foxy/include/class_loader/class_loader.hpp:55,
from /opt/ros/foxy/include/class_loader/multi_library_class_loader.hpp:52,
from /opt/ros/foxy/include/pluginlib/class_loader.hpp:58,
from /opt/ros/foxy/include/nav2_costmap_2d/costmap_2d_ros.hpp:53,
from /opt/ros/foxy/include/nav2_core/controller.hpp:42,
from /home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:8,
from /home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/src/pure_pursuit_controller.cpp:8:
/opt/ros/foxy/include/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = nav2_pure_pursuit_controller::PurePursuitController; B = nav2_core::Controller]’:
/opt/ros/foxy/include/class_loader/meta_object.hpp:216:7: required from here
/opt/ros/foxy/include/class_loader/meta_object.hpp:218:12: error: invalid new-expression of abstract class type ‘nav2_pure_pursuit_controller::PurePursuitController’
218 | return new C;
| ^~~~~
In file included from /home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/src/pure_pursuit_controller.cpp:8:
/home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:15:7: note: because the following virtual functions are pure within ‘nav2_pure_pursuit_controller::PurePursuitController’:
15 | class PurePursuitController : public nav2_core::Controller {
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/include/nav2_pure_pursuit_controller/pure_pursuit_controller.hpp:8,
from /home/zero/Code/SLAM/fishbot/src/nav2_pure_pursuit_controller/src/pure_pursuit_controller.cpp:8:
/opt/ros/foxy/include/nav2_core/controller.hpp:74:16: note: ‘virtual void nav2_core::Controller::configure(const SharedPtr&, std::string, const std::shared_ptr<tf2_ros::Buffer>&, const std::shared_ptr<nav2_costmap_2d::Costmap2DROS>&)’
74 | virtual void configure(
| ^~~~~~~~~
/opt/ros/foxy/include/nav2_core/controller.hpp:112:44: note: ‘virtual geometry_msgs::msg::TwistStamped nav2_core::Controller::computeVelocityCommands(const PoseStamped&, const Twist&)’
112 | virtual geometry_msgs::msg::TwistStamped computeVelocityCommands(
| ^~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/nav2_pure_pursuit_controller.dir/build.make:63: CMakeFiles/nav2_pure_pursuit_controller.dir/src/pure_pursuit_controller.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:78: CMakeFiles/nav2_pure_pursuit_controller.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed <<< nav2_pure_pursuit_controller [3.62s, exited with code 2]
Summary: 5 packages finished [3.85s]
1 package failed: nav2_pure_pursuit_controller
1 package had stderr output: nav2_pure_pursuit_controller
这个错误该怎么改呢?