如何安装 CMake 在 find_package 中包含 catkin/ROS 的项目?

Posted

技术标签:

【中文标题】如何安装 CMake 在 find_package 中包含 catkin/ROS 的项目?【英文标题】:How to install a project for which CMake contains catkin/ROS in find_package? 【发布时间】:2020-01-17 22:02:11 【问题描述】:

我有一个这样开始的项目:

cmake_minimum_required(VERSION 2.8.3)
project(quanergy_client_ros)

    SET(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -std=c++11")

    ## Find catkin macros and libraries
    find_package(catkin REQUIRED COMPONENTS
      roscpp
      sensor_msgs
      pcl_ros
    )

我尝试安装所有与 ros 相关的东西 (sudo apt install -y ros*),我尝试构建一些东西,例如 roscpp,然后是 pcl_ros,但这些项目一直依赖于其他项目,所以我不知道该怎么办.

据我了解,catkin 是可以构建 ROS 项目的东西。但是,我找不到安装这些依赖项的方法。

【问题讨论】:

试试 rosdep:wiki.ros.org/rosdep 【参考方案1】:

如果您使用的是 Ubuntu,您可以使用以下命令安装 ros 及其所有依赖项:

sudo apt-get install python-rosdep

在其他平台:

sudo pip install -U rosdep

不要忘记初始化这个:

sudo rosdep init

请查看rosdep manual了解更多信息

【讨论】:

以上是关于如何安装 CMake 在 find_package 中包含 catkin/ROS 的项目?的主要内容,如果未能解决你的问题,请参考以下文章

你如何告诉 CMake 静态链接到使用 find_package 找到的包中的库?

Cmake命令之find_package介绍

Cmake中find_package命令的搜索模式之配置模式(Config mode)

Cmake中find_package命令的搜索模式之模块模式(Module mode)

CMake中find_package的使用

为什么CUDA程序可以使用CMake“FIND_PACKAGE”,但不能使用“LANGUAGES CUDA”?