catkin_make 只编译一个包

来源于ros wiki上的问题: how to build a single package by catkin_make

一般来讲,在工作空间下,使用catkin_make 将会一次性编译src下所有的包,因为catkin_make 相当于以下命令的集合:
 

$ cd ~/catkin_ws
$ cd src
$ catkin_init_workspace
$ cd ..
$ mkdir build
$ cd build
$ cmake ../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel
$ make

但是,如果有一个新添加的包,将源文件等放入到了src下,想要单独进行编译,则可以使用:

catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"

这里可以单独编译package1和package2这两个包,这里需要注意的应该放入的是package的名字,而不是你的文件夹下的文件名;例如,在src下我的文件夹名叫做kvision, 但是具体的package名称是kvision下的package.xml文件中的cam_odo_cal

如果是上述原因导致catkin_make 报错提示:package ×× not  found in current workspace, 修改包名为准确的package名称即可;

catkin_make -DCATKIN_WHITELIST_PACKAGES  命令结束后,如果想要再回到那种catkin_make 编译所有包的状态,执行:
 

catkin_make -DCATKIN_WHITELIST_PACKAGES=""

即可;

https://answers.ros.org/question/54178/how-to-build-just-one-package-using-catkin_make/ 这个链接中,大神提供了另外的几种单独编译某个包的方法:

1.  使用 --only-pkg-with-deps

catkin_make --only-pkg-with-deps <target_package>

2. 使用catkin)build, 这种情况适用于之前没有编译过的情况,如果之前使用的是catkin_make, 后面使用catkin_build时会有错误提醒,大意就是需要删除之前的编译内容,重新使用catkin_build;

Using Catkin-Tools:

#install build tools
sudo apt-get install python-catkin-tools

#Build specific package
catkin build <target_package>

#Build the package from a directory under the package root
catkin build --this

 

 

 

 

 

  • 20
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
catkin是一个为ROS(机器人操作系统)设计定制的编译系统。catkin系统的目的是为了使开发人员更高效地构建ROS,解决ROS中依赖项管理、构建文件管理、可重用二进制文件等问题。catkin_makecatkin的一个命令行工具,用于编译和构建ROScatkin主要有三个概念:、工作区和catkinROS中的基本单元,它含必要的文件和代码来实现某些功能。工作区是一个包含多个的目录。catkin是一组工具和代码库,用于构建和维护ROS代码库。 catkin_make是一个可用于构建catkin工作区的命令行工具。这个工具可以在ROS的顶级目录下运行,使得它扫描工作区目录树,构建中的可执行文件、库和测试等,方便用户管理ROS软件之间的依赖关系。catkin_make插件还可以自动处理C++库的依赖关系,方便项目管理者在不同的项目之间共享可重用的代码,并在需要时更改依赖库的版本。 在使用catkin_make之前,使用catkin_init_workspace命令创建工作区目录。这个命令会在当前目录下创建一个“catkin_ws”目录,该目录是工作区的根目录。使用catkin_create_pkg命令在这个目录中创建一个ROS,该命令会自动创建catkin的基本文件结构。在中添加源文件、配置文件、启动文件等后,修改CMakeLists.txt文件来配置编译选项,编译类型、编译输出路径、编译源文件所需的库等。 总之,catkinROS中的编译系统,catkin_makecatkin工具集的一部分,可以用来编译ROS软件catkin提供了一些工具和代码库,用于构建和维护ROS代码库,并使得能够轻松地管理ROS软件之间的依赖关系。在使用catkin_make之前,需要创建ROS工作区,并使用catkin_create_pkg命令创建ROS,然后对的CMakeLists.txt文件进行配置,使用catkin_make进行编译和构建。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值