删除ROS的CmakeLists.txt中catkin_package()会发生什么?

3 篇文章 0 订阅

本系列教程作者:小鱼
公众号:鱼香ROS
QQ交流群:139707339
教学视频地址:小鱼的B站
完整文档地址:鱼香ROS官网
版权声明:如非允许禁止转载与商业用途。
公众号

大家好,我是倒霉蛋蛋小鱼,今天在尝试跑了一下aubo的机械臂仿真,顺手建了一个ros的包跑moveit。

看着生成的杂乱无章的CmakeLists,小鱼的强迫症癌晚期又发作了

所以就手动的把看起来不顺眼的,感觉没用的给删掉了,删完之后的CmakeLists张这个样子,是不是清爽很多
删完之后的CmakeLists
不知道你有没有看出问题

接着小鱼进行编译运行

catkin build sim_demo
source devel/setup.bash
rosrun sim_demo sim_demo

结果错误来了

[rosrun] Couldn't find executable named sim_demo below /root/code/arm/aubo/src/sim_demo
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun]   /root/code/arm/aubo/src/sim_demo
[rosrun]   /root/code/arm/aubo/src/sim_demo/include/sim_demo

编译没错误,运行居然找不到,有点意思
接着小于查看了编译之后生成的文件,发现在build目录下的sim_demo下有可执行文件,这就说明编译没有问题(这个思路大家可以借鉴)
发现了可执行文件
那到底是哪里出了问题呢?
想起了删除的时候遇到了一个奇怪东西

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES aubo_demo
#  CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
)

明明里面什么都没写,但是这个指令却没有被注释,于是小鱼抱着死马当活马医的想法试了下

居然没问题了

再运行也正常了~
正常运行

总结

所以可以猜测,catkin_package指令可以把当前的包变成一个被ros认可的包,把生成的可执行文件也放到指定的目录,让我们可以使用rosrun指令来运行。

当然大家也可以直接到生成的可执行文件目录,使用./执行文件,也是可以的~


技术交流&&问题求助:

  • 微信公众号及交流群:鱼香ROS
  • 小鱼微信:AiIotRobot
  • QQ交流群:139707339
  • 版权保护:已加入“维权骑士”(rightknights.com)的版权保护计划

作者介绍:

我是小鱼,机器人领域资深玩家,现深圳某独脚兽机器人算法工程师一枚
初中学习编程,高中开始接触机器人,大学期间打机器人相关比赛实现月入2W+(比赛奖金)
目前在输出机器人学习指南、论文注解、工作经验,欢迎大家关注小鱼,一起交流技术,学习机器人

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值