您当前的位置: 首页 >  ar
  • 0浏览

    0关注

    483博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ROS2 error: can‘t find examples_rclcpp_minimal_subscriber/Release/wait_set_subscriber_library.lib

高精度计算机视觉 发布时间:2022-08-07 15:16:07 ,浏览量:0

Windows10+ROS2 humble刚配置好,老规矩,跑一下ros2 examples,完整的教程在这里,

Using colcon to build packages — ROS 2 Documentation: Humble documentation

因为我只是测试,所以只是简单执行:

git clone https://github.com/ros2/examples src/examples -b humble colcon build --symlink-install --merge-install

然后报错:

CMake Error at ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:267 (message):   ament_cmake_symlink_install_targets() can't find  'D:/mc/ros2prj/example_ws/build/examples_rclcpp_minimal_subscriber/Release/wait_set_subscriber_library.lib' Call Stack (most recent call first):   ament_cmake_symlink_install_targets_3_Release.cmake:1 (ament_cmake_symlink_install_targets)   ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:323 (include)   cmake_install.cmake:36 (include)

 根据报错提示,打开cmake文本看一下,

src\examples\rclcpp\topics\minimal_subscriber\CMakeLists.txt

发现里面有这么一条,

add_library(wait_set_subscriber_library SHARED     wait_set_subscriber.cpp     static_wait_set_subscriber.cpp     time_triggered_wait_set_subscriber.cpp) ament_target_dependencies(wait_set_subscriber_library rclcpp rclcpp_components std_msgs)

 然后,在cpp项目中并没有找到RCLCPP_EXPORT这样的预定义,这是生成dll+lib所必须的;所以,根据默认的配置,只会生成dll文件,而不会有相应的lib文件;因此判断,这里在windows下,SHARED应该改成STATIC才行。修改后如下,

add_library(wait_set_subscriber_library STATIC     wait_set_subscriber.cpp     static_wait_set_subscriber.cpp     time_triggered_wait_set_subscriber.cpp) ament_target_dependencies(wait_set_subscriber_library rclcpp rclcpp_components std_msgs)

然后再执行colcon,这个cpp程序就编译成功了。

本文结束。

关注
打赏
1661664439
查看更多评论
立即登录/注册

微信扫码登录

0.0400s