ROS2插件C++(Plguins之动态链接库dll)直播问题汇总及补充说明

2021-12-02 14:14:36 浏览数 (1)

参考官方教程: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

否则报错:

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

运行看效果:

生成的动态链接库如下:

可执行文件如下:

0 人点赞