问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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创作并发布。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何在win10下安装docker? windows(win10)上的docker使用:安装(国内镜像)、操作 win10安装dockerWin10下Docker安装和使用 关于安装配置docker,找不到Hyper-V(win10 家庭版需要配置,专业版不需要... 怎么把微信上的聊天记录转到新手机 怎么把聊天记录转到另一个手机 快递被别人冒领,快递公司有没有责任 洋葱汤洋葱汤 一颗洋葱汤怎么做 一颗洋葱汤怎么做好吃 CMake应用:核心语法篇 葫芦岛是个岛吗? CMakeLists快速入门 创维电视机出现什么样的故障需要维修 客户关系关注企业是如何吸引并留住客户的关注企业与客户之间的关系_百 ... 二战后中国怎么进的五常 连续的本意是什么 手机上显示4G在线是什么意思 手机在线和4g一样吗 为什么对方QQ总是4G和手机在线 浙江宁波市余姚市对伤残9级和10级的工伤能赔偿多少? 葫芦岛是一个岛吗 中秋节的祝福语有哪些? - 知乎 赏析徐有贞《中秋月·中秋月》 谁知道猫临死前是什么表现? 淘宝有哪些口碑超好的咖啡店铺? 猫死之前有什么征兆吗? 在法律上父母能与子女断绝关系吗 姻缘际会是什么意思? 一个人,一个月亮,一座城,一枝花的成语 猫咪绝育后吃什么比较好 猫绝育后吃罐头 自用VS Code C++环境配置与CMake最简指南与模板 国企招聘 | 中核汇能(湖南)新能源有限公司招聘公告 小孩子感冒能吃羊肉汤吗 g5973高铁经过的站点,武汉上海旅游攻略 用人单位拒绝签劳动合同违法吗 用人单位不签劳动合同的违法吗 用人单位不签劳动合同违法吗? 用人单位不给劳动者签订劳动合同违法吗 靓体相亲共欢爱 猜12生肖的一种 要理由 怎么在网上买毛呢外套,秋冬连衣裙,羽绒服,新款毛衣,加厚加绒打底裤,冬... 如何快速的相亲成功呢? 在淘宝上买5元的毛呢外套是骗人的吗? 单身公主相亲记分集剧情 淘宝网显示的5.16元的毛呢外套是真的吗 淘宝上一件毛呢外套5块多钱是骗人的吗 在淘宝上拍了一个十几块钱的毛呢外套,不知道会发货吗 饮料酒黄酒 黄酒历史起源,具体经历了哪些阶段,主要有这几个转折点 1. "真"字加偏旁可以组成哪些词汇?