cmake学习笔记(基于ubuntu20.04)
发布网友
发布时间:2024-09-05 05:44
我来回答
共1个回答
热心网友
时间:2024-09-06 19:03
本文主要介绍了基于Ubuntu 20.04的CMake学习笔记,重点涵盖cmake在构建项目中的作用、脚本文件CMakeLists.txt的编写、编译流程、set指令的使用、搜索文件、头文件包含、动态库与静态库的制作、路径指定、库文件链接、日志输出以及变量操作和流程控制等内容。
首先,Cmake是一个用于构建编译框架的工具,通过编写CMakeLists.txt脚本,它能生成makefile,产出可执行文件、动态库和静态库。通过简单的命令如cmake .或cmake ..,在指定路径下进行编译过程。
set指令用于设定变量,如set(CMAKE_CXX_STANDARD 11)用于指定C++标准。搜索文件可以使用aux_source_directory或file(GLOB_RECURSE),如将dir目录下的源文件收集到variable中。头文件的包含使用inlcude_directories,制作库时,main函数通常不包含在内。
动态库和静态库的制作分别通过add_library指令,格式各异,如add_library(库名 STATIC 源文件...)。Cmake还支持指定输出路径,链接库文件,包括链接本地库和第三方库。日志控制通过message函数,支持不同级别的消息显示。
变量操作涉及显示、拼接和移除,如使用set或list命令。宏定义通过add_definitions进行设置,CMake嵌套可用于模块化大型项目。流程控制使用逻辑符号如NOT、AND、OR,而循环结构有foreach和while版本。
最后,catkin_make是CMake和make的封装,常用于ROS项目。本文内容由Zhihu On VSCode创作并发布。