https://blog.csdn.net/sinat_16643223/article/details/113935412
https://blog.csdn.net/qianbin3200896/article/details/103557942?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control&dist_request_id=bf685014-b3f2-4584-889e-0c9b2b87b9c5&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control
1. CMake简介
本教程面向Linux系统,重点讲解CMake的基本使用方法,用于构建C++项目。采用的平台为Jetson Nano嵌入式开发板,arm64系统。当然,本教程同样适合绝大部分Linux平台。在讲解CMake使用方法之前,先要了解gcc、make和MakeFile的概念。
gcc(GNU Compiler Collection)即为GNU编译器套件,也可以简单认为是编译器,它可以编译很多种编程语言,包括C、C++、Objective-C、Fortran、Java等。当程序只有一个源文件时,直接就可以用gcc命令编译它。但如果源文件太多,一个一个编译就会显得非常繁琐,于是研发人员想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具。make是一个自动化编译工具,可以使用一条命令实现完全编译。前提是需要编写一个规则文件,make依据该规则文件来批处理执行编译,这个文件就是makefile。对于一个大工程,编写makefile是件极其复杂的事,手动编写不仅耗时且容易出错,于是研发人员又想到,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了CMake工具,它能够输出各种各样的makefile或者project文件,从而帮助开发人员减轻负担。但是随之而来也就是编写cmakelists文件,它是CMake所依据的规则。值得注意的是,相对于编写makefile文件,编写cmakelists文件要简单的多。下面这张图完整显示了实际编译的各个步骤及相互关系:
可以看到,CMake生成的makefile文件还不是可执行文件,需要再经过make生成后才是最终的二进制可执行文件。
简而言之,对于实际的C++工程来说,采用CMake工具可以减少项目编译所需要的繁琐工作,简化并加快开发人员生成最终的程序。
再看下面这个就看得懂了
https://blog.csdn.net/jay463261929/article/details/53859616
catkin_make和cmake都是用CMakeLists.txt ,两个的CMakeLists.txt有些许不同。catkin_make是用在ROS下面的。cmake的CMakeLists.txt是通用的C++的都可以用的。
catkin_make相当于对cmake的扩展,适配ROS。
https://blog.csdn.net/sinat_16643223/article/details/113967512
https://blog.csdn.net/sinat_16643223/article/details/114000991
https://blog.csdn.net/sinat_16643223/article/details/113935412
https://blog.csdn.net/sinat_16643223/article/details/113967512
https://blog.csdn.net/sinat_16643223/article/details/113926065
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)