【发布时间】:2020-05-04 09:12:30
【问题描述】:
我从examples repository 下载了一个 ROS2 演示。
具体来说,我用过minimal_subscriber和minimal_publisher。
我在/opt/ros2 中安装了ROS2,当我使用colcon build 构建这两个示例时,它会生成一个install/ 目录,其中包含lib/、shared/ 和其他常用目录结构。
我可以在我的机器上使用我当前的设置完美地执行和运行这些演示,但是这些可执行文件链接到 /opt/ros2 中存在的库,所以当我想在另一台没有安装 ROS2 的机器上执行它们或者我移动我的 ROS2 时在我的机器上安装,可执行文件找不到共享对象。
我添加了一个非常简单的脚本,在构建时将所有依赖项添加到install/lib,但可执行文件似乎并不关心,他们并没有在生成的lib 目录中寻找共享库,他们一直在尝试在/opt/ros2中搜索。
我相信这是我应该在 CMake 中解决的问题,它不是 ROS2 特定的,所以,有什么方法可以告诉我生成的可执行文件在不同的目录中搜索? (../lib 或 ./lib 在我的情况下)
【问题讨论】:
标签: c++ cmake shared-libraries ros2