ROS2:使用colcon build编译成功但是在运行时提示找不到共享库

基于ROS2写了一个node节点,其中需要链接一个共享库,在编译时没有问题,但是在运行时提示找不到这个共享库

error while loading shared libraries: libseg_ground.so: cannot open shared object file: No such file or directory

第一步:
在共享库的CMakeLists.txt后面加入以下内容,seg_ground是共享库的名字

install(
  TARGETS seg_ground
  DESTINATION lib/${PROJECT_NAME}
)

第二步:
在ROS2节点程序的CMakeLists.txt中加入以下内容,第一个install()是告诉程序共享库的位置,第二个install是告诉程序可执行文件的位置

install(
  DIRECTORY lib/
  DESTINATION lib
)

install(
  TARGETS ${PROJECT_NAME}
  DESTINATION lib/${PROJECT_NAME}
)

猜你喜欢

转载自blog.csdn.net/guanjing_dream/article/details/132879958