You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building with Clang, I'm getting these errors:
> colcon build --cmake-args -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
...
In file included from /home/rosdev/ros2_ws/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_router.hpp:72:32: error: allocating an object of abstract class type 'mavros::router::Endpoint'
RCLCPP_SMART_PTR_DEFINITIONS(Endpoint)
^
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_router.hpp:103:16: note: unimplemented pure virtual method 'is_open' in 'Endpoint'
virtual bool is_open() = 0;
^
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_router.hpp:104:40: note: unimplemented pure virtual method 'open' in 'Endpoint'
virtual std::pair<bool, std::string> open() = 0;
^
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_router.hpp:105:16: note: unimplemented pure virtual method 'close' in 'Endpoint'
virtual void close() = 0;
^
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_router.hpp:107:16: note: unimplemented pure virtual method 'send_message' in 'Endpoint'
virtual void send_message(
^
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_router.hpp:113:16: note: unimplemented pure virtual method 'diag_run' in 'Endpoint'
virtual void diag_run(diagnostic_updater::DiagnosticStatusWrapper & stat) = 0;
^
In file included from /home/rosdev/ros2_ws/src/mavros/mavros/src/lib/uas_data.cpp:19:
In file included from /home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/mavros_uas.hpp:45:
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/plugin.hpp:68:32: error: allocating an object of abstract class type 'mavros::plugin::Plugin'
RCLCPP_SMART_PTR_DEFINITIONS(Plugin)
^
/home/rosdev/ros2_ws/src/mavros/mavros/include/mavros/plugin.hpp:95:25: note: unimplemented pure virtual method 'get_subscriptions' in 'Plugin'
virtual Subscriptions get_subscriptions() = 0;
Clang has various features for analysis, e.g. Quality guide: ensuring code quality, but it's also a good thing to not depend on a single WoW, gcc and clang are the most widely used compilers
Not sure about rclcpp, never tried, but other components that I tried to compile just fine. I guess Mavros will compile just fine as well if this problem is fixed, I have seen only this issue so far
When building with Clang, I'm getting these errors:
MAVROS version and platform
Mavros: 2e20c1c
ROS: Humble, Foxy
Ubuntu: 22.04, 20.04
The text was updated successfully, but these errors were encountered: