ROS使用catkin_make编译指定功能包后catkin_make失效

 问题:


 Base path: /home/xy/catkin_ws
 Source space: /home/xy/catkin_ws/src
 Build space: /home/xy/catkin_ws/build
 Devel space: /home/xy/catkin_ws/devel
 Install space: /home/xy/catkin_ws/install
 ####
 #### Running command: "cmake /home/xy/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/xy/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/xy/catkin_ws/install -G Unix Makefiles" in "/home/xy/catkin_ws/build"
 ####
 ####
 #### Running command: "make -j12 -l12" in "/home/xuyang/catkin_ws/build"
 ####

解决:

编译指定功能包的命令为

catkin_make -DCATKIN_WHITELIST_PACKAGES="需要单独编译的包名"

但是如再次使用catkin_make编译所有功能包时会出现仅仅只编译上次设置的单独功能包,如果想要再次使用catkin_make编译所有功能包,需要执行:

catkin_make -DCATKIN_WHITELIST_PACKAGES=""

然后就可以使用 catkin_make 编译了

如果还不行参照这两篇文章:

ubuntu16.04下ros中catkin_make命令失效 - 墨池有雨 - 博客园 (cnblogs.com)ROS中catkin_make失败和roslaunch失败的解决方法_在一个新的工作空间中roslaunch失败-CSDN博客 

参考

ROS使用catkin_make编译指定功能包_catkin make whitelist-CSDN博客

ubuntu16.04下ros中catkin_make命令失效 - 墨池有雨 - 博客园 (cnblogs.com)

ROS中catkin_make失败和roslaunch失败的解决方法_在一个新的工作空间中roslaunch失败-CSDN博客 

catkin是一个为ROS(机器人操作系统)设计定制的编译系统。catkin系统的目的是为了使开发人员更高效地构建ROS包,解决ROS中依赖项管理、构建文件管理、可重用二进制文件等问题。catkin_makecatkin的一个命令行工具,用于编译和构建ROS包。 catkin主要有三个概念:包、工作区和catkin。包是ROS中的基本单元,它包含必要的文件和代码来实现某些功能。工作区是一个包含多个包的目录。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进行编译和构建。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值