参考官方教程:Creating and Using Plugins(C++)
漏了一步:
ros2 pkg create --build-type ament_cmake polygon_plugins --dependencies polygon_base pluginlib --library-name polygon_plugins
先过一遍流程吧(全程win10+ros2foxy,同样适用于linux和macos):
-
pluginlib
先查一下,有没有???
- ros2 pkg list

接着按官方教程走起来就行(大部分都是复制黏贴的活儿):
这里不再罗列了。


然后是编译:
-
colcon build --packages-select polygon_base polygon_plugins
报错如下:

加入文件:
<library path="polygon_plugins">
<class type="polygon_plugins::Square" base_class_type="polygon_base::RegularPolygon">
<description>This is a square plugin.</description>
</class>
<class type="polygon_plugins::Triangle" base_class_type="polygon_base::RegularPolygon">
<description>This is a triangle plugin.</description>
</class>
</library>
接着报错:

当然,还有vs环境问题:
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
否则报错:

这些问题都要修正,然后就可以的。

运行看效果:

生成的动态链接库如下:
可执行文件如下:
本文档详细记录了在 ROS2 Foxy 版本下使用 C++ 开发 pluginlib 插件的过程,包括创建项目、配置依赖、编译及解决常见错误等内容。
606





