紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
编译时colcon build 报stderr错误
-
这个是我编写的服务端代码
#include "rclcpp/rclcpp.hpp" #include "underwater_interfaces/srv/jointvalue.hpp" class Joint_value: public rclcpp::Node { private: rclcpp::Service<underwater_interfaces::srv::Jointvalue>::SharedPtr joint_value_calculate; void Joint_calculate01(const underwater_interfaces::srv::Jointvalue::Request::SharedPtr request, const underwater_interfaces::srv::Jointvalue::Response::SharedPtr response) { RCLCPP_INFO(this->get_logger(),"Joint calcuater started!"); response->joint0=77.66; response->joint1=77.66; response->joint2=77.66; response->joint3=77.66; } public: Joint_value(std::string name): Node (name) { RCLCPP_INFO(this->get_logger(),"Joint_value service is started!"); joint_value_calculate = this->create_service<underwater_interfaces::srv::Jointvalue>("joint_value_calculater", std::bind(&Joint_value::Joint_calculate01,this, std::placeholders::_1,std::placeholders::_2)); } }; int main(int argc ,char **argv) { rclcpp::init(argc,argv); auto node=std::make_shared<rclcpp::Node>("joint_value_calculate"); RCLCPP_INFO(node->get_logger(),"joint_value_calculate started!"); rclcpp::spin(node); rclcpp::shutdown(); return 0; }
报错如下:
stderr: robot_joint /home/mansenjoy/robot/src/robot_joint/src/robot_joint.cpp: In member function ‘void Joint_value::Joint_calculate01(underwater_interfaces::srv::Jointvalue_Request_<std::allocator<void> >::SharedPtr, underwater_interfaces::srv::Jointvalue_Response_<std::allocator<void> >::SharedPtr)’:
自定义的接口
float32 x float32 y float32 z --- float32 joint0 float32 joint1 float32 joint2 float32 joint3
-
@zyg_sddy 给一下完整的错误,有些错误没关系,你给的信息不太全
-
@小鱼 我看了,底下是一个警告,警告我在服务的回调函数里定义了request但是没有调用,然后我调用了以后上面的stderr错误也没了,我又尝试了定义别的变量不引用,也会报这个错误。
-
@zyg_sddy 可以在不用的变量前加个void,即
(void)xxxx;
-
@小鱼 好的谢谢