catkin_make
普通情况下编译文件都是使用cmake,make工具,与此有关的内容可以参考:cmake,CMakeLists.txt,make,makefile的关系
但ROS中还有catkin_make,不清楚他们之间的关系,写这篇了解一下,主要区别如下:
- 常规的编译的过程大致有两步:1.cmake 2.make catkin_make就是把这两步做了一个封装,一步即可完成。也就是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
注:catkin_make编译的是所有功能包,也可以单单指定一个功能包做编译,命令是:
catkin_make --pkg 功能包名
- catkin_make之前一般要建立src文件夹存储源码,这是默认的工作空间路径。如果没有就会报错,这直接规范了文件路径,并且直接确定了生成文件的路径,而常规的编译没有。不过catkin_make也可以特别指定读取源文件路径,命令是:
catkin_make --source my_src
同时catkin_make本质上是并行编译,合并构建。这就存在一种情况:某个编译包不被ROS所支持,会报错。这个时候应该使用catkin_make_isolated,这样每个包就独立构建,会跳过那些不支持的包。不过生成的文件名字和之前会不同,devel会变成devel_isolated
cmake,make过程一般是一次是执行一个源文件,如果想一键编译的话要写一个.sh文件。catkin_make编译时会编译src文件下所有的源文件,过程更加方便了
还有一个命令是catkin_make install, catkin_make install 的作用是创建一个可以运行,但不含源码的工程包,以便于给客户等其他人使用,但同时不至于泄露源码的这么一个作用(读不太懂,暂时可能还没接触到吧~)
参考资料:
具体的caktin_make执行过程可以参考这篇:Catkin_make执行过程_jinking01的专栏-CSDN博客_catkin_make
具体的caktin_make install执行过程可以参考这篇:ROS中catkin_make install的用法_gglin的博客-CSDN博客
catkin_make_isolated 介绍_study,come on的博客-CSDN博客
转:make cmake和catkin_make的区别_fantasysolo的博客-CSDN博客_catkin_make
catkin_make相关推荐
- catkin_make后输出:No module named ‘catkin_pkg‘
问题描述: 如何解决? 1.打开catkin_make文件,在终端输入: sudo gedit /opt/ros/melodic/bin/catkin_make 2.将python脚本解释器改为&qu ...
- catkin_make: command not found
catkin_make: command not found当我们编译ros时,出现了这种错误,可以这样解决 To execute the command: > source /opt/ros/ ...
- catkin_make与gtest出现冲突的问题与解决
gtest是测试时调用的,把测试禁止掉试试 catkin_make --pkg pkgname -DCATKIN_ENABLE_TESTING=0 转载于:https://www.cnblogs.co ...
- 更换系统后无法catkin_make universal robot 包
1.终端出现的错误如下: /home/lx/catkin_workspace/build/universal_robot/ur_driver/setup_custom_pythonpath.sh: 4 ...
- catkin_make 只编译一个包
来源于ros wiki上的问题: how to build a single package by catkin_make 一般来讲,在工作空间下,使用catkin_make 将会一次性编译src下所 ...
- ROS Base path和Source space不一致问题,修改文件名后无法make问题,catkin_make报错问题
在一次在ROS 的学习实践中,将Ros工程目录名称更改了,source后,出现了base path和Source space不一致问题: 报错提示: Base path: /home/pot/catk ...
- 解决catkin_make时出现make[2]: *** No rule to make target ‘/usr/lib/libOpenNI2.so‘, needed by ‘*******‘。
问题引出: catkin_make编译项目时出现下列错误: make[2]: *** No rule to make target '/usr/lib/libOpenNI2.so', needed b ...
- catkin_make 编译包无效(没反应)
- catkin_make 编译指定的功能包失效? 可能是如下原因: 这时需要编译全部功能包, catkin_make -DCATKIN_WHITELIST_PACKAGES="" ...
- ros执行catkin_make显示 /opt/ros/noetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):`错误
ros在执行catkin_make时显式错误 RuntimeError: Multiple packages found with the same name 或者CMake Error at /op ...
最新文章
- 股市币市:数据分析与交易所最新公告(20190301)
- 天池算法赛:数据挖掘经典赛事!DCIC 2020 数字中国创新大赛启动!
- Java网络编程——11.非阻塞I/O
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路(1)
- linux_OEL5.4_安装Oracle11g中文教程图解
- Centos安装postgreSQL
- Codeforces Round #331 (Div. 2) A. Wilbur and Swimming Pool 水题
- 百度富文本编辑器UEditor安装配置全过程
- 矩阵的基本概念(等价、合同、秩...)
- c语言列出1~100所有素数_一次找出范围内的所有素数,埃式筛法是什么神仙算法?...
- java simpleentry_使用Java流生成对象
- HNOI2017 滚粗记
- 英特尔的新方向:称王集成计算设备领域
- 河南省第四届ACM程序设计大赛(共八道,目前只做两道。待续)
- ISP许可证是什么证?
- Mac 安装谷歌浏览器驱动
- 通过c语言求得一个英文句子中的单词数量
- 腾讯前端面试经验(一)
- 解决OpenCV读取图片慢的方案
- 【sql】sql执行顺序
热门文章
- GW48CK/PK2/PK/PK4 系统万能接插口与结构图信号/与芯片引脚对照表
- java遍历子目录_Java遍历文件夹及子目录代码实例
- NOI数学:莫比乌斯变换
- 1.13编程基础之综合应用_14求满足条件的3位数
- STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)+ 中断
- RTX5 | 消息队列03 - 获取消息队列里消息的数量,并一次性提取出来
- c 读取mysql另一个窗体中显示出来_二级ACCESS数据库4窗体的笔试题考点分析
- 功能强大的JavaScript 拖拽库 SortableJS
- 信息安全工程师笔记-云计算安全需求分析与安全保护工程
- C++笔记-shared_ptr与weak_ptr需要注意的地方