参考官方教程: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
报错如下:
加入文件:
代码语言:javascript复制<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 Studio2019CommunityVCAuxiliaryBuildvcvarsall.bat" x86_amd64
否则报错:
这些问题都要修正,然后就可以的。
运行看效果:
生成的动态链接库如下:
可执行文件如下: