stderr.log 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. In file included from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  2. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h: In constructor ‘Joystick_pub::Joystick_pub(const string&, const string&)’:
  3. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:56:17: warning: ‘Joystick_pub::filename’ will be initialized after []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreorder-Wreorder]8;;]
  4. 56 | std::string filename; // 设备文件名
  5. | ^~~~~~~~
  6. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:40:41: warning:  base ‘rclcpp::Node’ []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreorder-Wreorder]8;;]
  7. 40 | : filename(filename), Node(node_name) // 初始化成员变量 filename
  8. | ^
  9. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:39:1: warning:  when initialized here []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreorder-Wreorder]8;;]
  10. 39 | Joystick_pub::Joystick_pub(const std::string &filename, const std::string &node_name)
  11. | ^~~~~~~~~~~~
  12. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:91:85: error: no match for ‘operator=’ (operand types are ‘rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >::SharedPtr’ {aka ‘std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >’} and ‘std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >’)
  13. 91 | er = this->create_publisher<sensor_msgs::msg::Joy>("g29_feedback", 10);
  14. | ^
  15. In file included from /usr/include/c++/11/memory:77,
  16. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:153,
  17. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  18. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  19. /usr/include/c++/11/bits/shared_ptr.h:363:9: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<const std::shared_ptr<_Yp>&> std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Yp>&) [with _Yp = _Yp; _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’
  20. 363 | operator=(const shared_ptr<_Yp>& __r) noexcept
  21. | ^~~~~~~~
  22. /usr/include/c++/11/bits/shared_ptr.h:363:9: note:  template argument deduction/substitution failed:
  23. /usr/include/c++/11/bits/shared_ptr.h: In substitution of ‘template<class _Tp> template<class _Arg> using _Assignable = typename std::enable_if<std::is_assignable<std::__shared_ptr<_Tp>&, _Arg>::value, std::shared_ptr<_Tp>&>::type [with _Arg = const std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >&; _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’:
  24. /usr/include/c++/11/bits/shared_ptr.h:363:2: required by substitution of ‘template<class _Yp> std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >::_Assignable<const std::shared_ptr<_Tp>&> std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >::operator=<_Yp>(const std::shared_ptr<_Tp>&) [with _Yp = rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> >]’
  25. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:91:85: required from here
  26. /usr/include/c++/11/bits/shared_ptr.h:130:15: error: no type named ‘type’ in ‘struct std::enable_if<false, std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >&>’
  27. 130 | using _Assignable = typename enable_if<
  28. | ^~~~~~~~~~~
  29. /usr/include/c++/11/bits/shared_ptr.h:374:9: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::auto_ptr<_Up> > std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Yp = _Yp; _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’
  30. 374 | operator=(auto_ptr<_Yp>&& __r)
  31. | ^~~~~~~~
  32. /usr/include/c++/11/bits/shared_ptr.h:374:9: note:  template argument deduction/substitution failed:
  33. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:91:85: note:  ‘std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >’ is not derived from ‘std::auto_ptr<_Up>’
  34. 91 | er = this->create_publisher<sensor_msgs::msg::Joy>("g29_feedback", 10);
  35. | ^
  36. In file included from /usr/include/c++/11/memory:77,
  37. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:153,
  38. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  39. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  40. /usr/include/c++/11/bits/shared_ptr.h:391:9: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Yp = _Yp; _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’
  41. 391 | operator=(shared_ptr<_Yp>&& __r) noexcept
  42. | ^~~~~~~~
  43. /usr/include/c++/11/bits/shared_ptr.h:391:9: note:  template argument deduction/substitution failed:
  44. /usr/include/c++/11/bits/shared_ptr.h: In substitution of ‘template<class _Tp> template<class _Arg> using _Assignable = typename std::enable_if<std::is_assignable<std::__shared_ptr<_Tp>&, _Arg>::value, std::shared_ptr<_Tp>&>::type [with _Arg = std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >; _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’:
  45. /usr/include/c++/11/bits/shared_ptr.h:391:2: required by substitution of ‘template<class _Yp> std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >::_Assignable<std::shared_ptr<_Tp> > std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >::operator=<_Yp>(std::shared_ptr<_Tp>&&) [with _Yp = rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> >]’
  46. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:91:85: required from here
  47. /usr/include/c++/11/bits/shared_ptr.h:130:15: error: no type named ‘type’ in ‘struct std::enable_if<false, std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >&>’
  48. 130 | using _Assignable = typename enable_if<
  49. | ^~~~~~~~~~~
  50. /usr/include/c++/11/bits/shared_ptr.h:399:9: note: candidate: ‘template<class _Yp, class _Del> std::shared_ptr<_Tp>::_Assignable<std::unique_ptr<_Up, _Ep> > std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’
  51. 399 | operator=(unique_ptr<_Yp, _Del>&& __r)
  52. | ^~~~~~~~
  53. /usr/include/c++/11/bits/shared_ptr.h:399:9: note:  template argument deduction/substitution failed:
  54. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:91:85: note:  ‘std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >’ is not derived from ‘std::unique_ptr<_Tp, _Dp>’
  55. 91 | er = this->create_publisher<sensor_msgs::msg::Joy>("g29_feedback", 10);
  56. | ^
  57. In file included from /usr/include/c++/11/memory:77,
  58. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:153,
  59. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  60. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  61. /usr/include/c++/11/bits/shared_ptr.h:359:19: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp>&) [with _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’
  62. 359 | shared_ptr& operator=(const shared_ptr&) noexcept = default;
  63. | ^~~~~~~~
  64. /usr/include/c++/11/bits/shared_ptr.h:359:29: note:  no known conversion for argument 1 from ‘std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >’ to ‘const std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >&’
  65. 359 | shared_ptr& operator=(const shared_ptr&) noexcept = default;
  66. | ^~~~~~~~~~~~~~~~~
  67. /usr/include/c++/11/bits/shared_ptr.h:383:7: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >]’
  68. 383 | operator=(shared_ptr&& __r) noexcept
  69. | ^~~~~~~~
  70. /usr/include/c++/11/bits/shared_ptr.h:383:30: note:  no known conversion for argument 1 from ‘std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::Joy_<std::allocator<void> >, std::allocator<void> > >’ to ‘std::shared_ptr<rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > > >&&’
  71. 383 | operator=(shared_ptr&& __r) noexcept
  72. | ~~~~~~~~~~~~~^~~
  73. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp: In member function ‘void Joystick_pub::publish()’:
  74. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:196:27: error: no matching function for call to ‘rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >::publish(sensor_msgs::msg::Joy_<std::allocator<void> >&)’
  75. 196 | g29_publisher->publish(message);
  76. | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  77. In file included from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
  78. from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
  79. from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
  80. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
  81. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
  82. from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
  83. from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
  84. from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
  85. from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
  86. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
  87. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  88. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  89. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:254:3: note: candidate: ‘template<class T> std::enable_if_t<(rosidl_generator_traits::is_message<T>::value && std::is_same<T, typename rclcpp::TypeAdapter<MessageT>::ros_message_type>::value)> rclcpp::Publisher<MessageT, AllocatorT>::publish(std::unique_ptr<T, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Allocator>::rebind_traits<typename rclcpp::TypeAdapter<MessageT, void, void>::ros_message_type>::allocator_type>::rebind_alloc<typename rclcpp::TypeAdapter<MessageT, void, void>::ros_message_type>, std::allocator<typename rclcpp::TypeAdapter<MessageT>::ros_message_type> >::value, std::default_delete<typename rclcpp::TypeAdapter<MessageT>::ros_message_type>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Allocator>::rebind_traits<typename rclcpp::TypeAdapter<MessageT, void, void>::ros_message_type>::allocator_type> >::type>) [with T = T; MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>]’
  90. 254 | publish(std::unique_ptr<T, ROSMessageTypeDeleter> msg)
  91. | ^~~~~~~
  92. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:254:3: note:  template argument deduction/substitution failed:
  93. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:196:27: note:  ‘sensor_msgs::msg::Joy_<std::allocator<void> >’ is not derived from ‘std::unique_ptr<T, std::default_delete<g29_msg::msg::G29Msg_<std::allocator<void> > > >’
  94. 196 | g29_publisher->publish(message);
  95. | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  96. In file included from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
  97. from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
  98. from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
  99. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
  100. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
  101. from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
  102. from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
  103. from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
  104. from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
  105. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
  106. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  107. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  108. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:295:3: note: candidate: ‘template<class T> std::enable_if_t<(rosidl_generator_traits::is_message<T>::value && std::is_same<T, typename rclcpp::TypeAdapter<MessageT>::ros_message_type>::value)> rclcpp::Publisher<MessageT, AllocatorT>::publish(const T&) [with T = T; MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>]’
  109. 295 | publish(const T & msg)
  110. | ^~~~~~~
  111. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:295:3: note:  template argument deduction/substitution failed:
  112. In file included from /usr/include/c++/11/bits/move.h:57,
  113. from /usr/include/c++/11/bits/stl_pair.h:59,
  114. from /usr/include/c++/11/bits/stl_algobase.h:64,
  115. from /usr/include/c++/11/bits/specfun.h:45,
  116. from /usr/include/c++/11/cmath:1935,
  117. from /usr/include/c++/11/math.h:36,
  118. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:20:
  119. /usr/include/c++/11/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = void]’:
  120. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:295:3: required by substitution of ‘template<class T> std::enable_if_t<(rosidl_generator_traits::is_message<T>::value && std::is_same<T, g29_msg::msg::G29Msg_<std::allocator<void> > >::value), void> rclcpp::Publisher<g29_msg::msg::G29Msg_<std::allocator<void> > >::publish<T>(const T&) [with T = sensor_msgs::msg::Joy_<std::allocator<void> >]’
  121. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:196:27: required from here
  122. /usr/include/c++/11/type_traits:2579:11: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
  123. 2579 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;
  124. | ^~~~~~~~~~~
  125. In file included from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
  126. from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
  127. from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
  128. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
  129. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
  130. from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
  131. from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
  132. from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
  133. from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
  134. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
  135. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  136. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  137. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:325:3: note: candidate: ‘template<class T> std::enable_if_t<(typename rclcpp::TypeAdapter<MessageT>::is_specialized::value && std::is_same<T, typename rclcpp::TypeAdapter<MessageT>::custom_type>::value)> rclcpp::Publisher<MessageT, AllocatorT>::publish(std::unique_ptr<T, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Allocator>::rebind_traits<typename rclcpp::TypeAdapter<MessageT, void, void>::custom_type>::allocator_type>::rebind_alloc<typename rclcpp::TypeAdapter<MessageT, void, void>::custom_type>, std::allocator<typename rclcpp::TypeAdapter<MessageT>::custom_type> >::value, std::default_delete<typename rclcpp::TypeAdapter<MessageT>::custom_type>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Allocator>::rebind_traits<typename rclcpp::TypeAdapter<MessageT, void, void>::custom_type>::allocator_type> >::type>) [with T = T; MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>]’
  138. 325 | publish(std::unique_ptr<T, PublishedTypeDeleter> msg)
  139. | ^~~~~~~
  140. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:325:3: note:  template argument deduction/substitution failed:
  141. /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:196:27: note:  ‘sensor_msgs::msg::Joy_<std::allocator<void> >’ is not derived from ‘std::unique_ptr<T, std::default_delete<g29_msg::msg::G29Msg_<std::allocator<void> > > >’
  142. 196 | g29_publisher->publish(message);
  143. | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  144. In file included from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
  145. from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
  146. from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
  147. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
  148. from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
  149. from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
  150. from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
  151. from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
  152. from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
  153. from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
  154. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.h:25,
  155. from /home/wub/work/1_nzzn/2_code/13_LG/src/Drive/g29_ros2_feedback_drive/src/g29_ros2_feedback/src/joystick.cpp:34:
  156. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:367:3: note: candidate: ‘template<class T> std::enable_if_t<(typename rclcpp::TypeAdapter<MessageT>::is_specialized::value && std::is_same<T, typename rclcpp::TypeAdapter<MessageT>::custom_type>::value)> rclcpp::Publisher<MessageT, AllocatorT>::publish(const T&) [with T = T; MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>]’
  157. 367 | publish(const T & msg)
  158. | ^~~~~~~
  159. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:367:3: note:  template argument deduction/substitution failed:
  160. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:386:3: note: candidate: ‘void rclcpp::Publisher<MessageT, AllocatorT>::publish(const rcl_serialized_message_t&) [with MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>; rcl_serialized_message_t = rcutils_uint8_array_s]’
  161. 386 | publish(const rcl_serialized_message_t & serialized_msg)
  162. | ^~~~~~~
  163. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:386:44: note:  no known conversion for argument 1 from ‘sensor_msgs::msg::Joy_<std::allocator<void> >’ to ‘const rcl_serialized_message_t&’ {aka ‘const rcutils_uint8_array_s&’}
  164. 386 | publish(const rcl_serialized_message_t & serialized_msg)
  165. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  166. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:392:3: note: candidate: ‘void rclcpp::Publisher<MessageT, AllocatorT>::publish(const rclcpp::SerializedMessage&) [with MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>]’
  167. 392 | publish(const SerializedMessage & serialized_msg)
  168. | ^~~~~~~
  169. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:392:37: note:  no known conversion for argument 1 from ‘sensor_msgs::msg::Joy_<std::allocator<void> >’ to ‘const rclcpp::SerializedMessage&’
  170. 392 | publish(const SerializedMessage & serialized_msg)
  171. | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  172. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:406:3: note: candidate: ‘void rclcpp::Publisher<MessageT, AllocatorT>::publish(rclcpp::LoanedMessage<typename rclcpp::TypeAdapter<MessageT>::ros_message_type, AllocatorT>&&) [with MessageT = g29_msg::msg::G29Msg_<std::allocator<void> >; AllocatorT = std::allocator<void>; typename rclcpp::TypeAdapter<MessageT>::ros_message_type = g29_msg::msg::G29Msg_<std::allocator<void> >]’
  173. 406 | publish(rclcpp::LoanedMessage<ROSMessageType, AllocatorT> && loaned_msg)
  174. | ^~~~~~~
  175. /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:406:64: note:  no known conversion for argument 1 from ‘sensor_msgs::msg::Joy_<std::allocator<void> >’ to ‘rclcpp::LoanedMessage<g29_msg::msg::G29Msg_<std::allocator<void> >, std::allocator<void> >&&’
  176. 406 | ublish(rclcpp::LoanedMessage<ROSMessageType, AllocatorT> && loaned_msg)
  177. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
  178. gmake[2]: *** [CMakeFiles/g29_ros2_feedback_node.dir/build.make:90:CMakeFiles/g29_ros2_feedback_node.dir/src/joystick.cpp.o] 错误 1
  179. gmake[1]: *** [CMakeFiles/Makefile2:137:CMakeFiles/g29_ros2_feedback_node.dir/all] 错误 2
  180. gmake: *** [Makefile:146:all] 错误 2