当前位置: 首页 > news >正文

CMake详解-捡重要的讲

CMake

通常我们使用cmake构建C++项目,其实就是编写CMakeLists.txt文件,过程如下

首先在创建项目名称,我这里是CMake文件夹,在路径下创建CMakeLists.txt文件,也就是在工作空间的目录下创建,具体有几个要素要设置

  • CMake最低版本要求
  • 项目名称-自定义即可
  • 编译方法:Debug或者release
  • C++版本
  • 两个output path,这个是必要的,我们通常将cmake生成的编译文件放入build目录(这个不用给出),可执行文件放入bin目录,编译的静态库、动态库文件放入lib目录
  • include:给出头文件的搜索路径,注意其不会递归地搜索,当然可以在此处给出,也可以在子目录的CMakeLists.txt文件中给出
  • 添加子目录的cmake路径:告诉cmake这个路径下可能也有CMakeLists.txt文件,需要你去检查并编译它。因为,我们的项目文件构成是多块的,不可能把所有的文件、包、库都写入根目录的CMakeLists.txt文件中,肯定是多个CMakeLists.txt组成

如下(截图好看点)

 创建两个子文件夹,存放我们的项目文件mkdir srcmkdir examp

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【漏洞复现】某某康达vpn——list_base_config.php——命令执行
  • Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office 直接使用源码
  • 优化业务流程的关键:深入探讨BPA流程设计
  • qt-11基本对话框(消息框)
  • 【图形验证和AI智能及CHATGPT对抗影响的是用户体验】
  • 【大模型系列篇】Transformers综述--邱锡鹏
  • react的setState中为什么不能用++?
  • pygame开发课程系列(4): 游戏元素
  • 怎么直接在PDF上修改内容?随心编辑PDF内容
  • 日拱一卒(4)——leetcode学习记录:路径总和
  • python爬虫爬取某图书网页实例
  • Nginx禁用IP和IP段
  • 二叉树的判断
  • 详解 Redis 队列 实现
  • druid+logback打印sql执行日志
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 2019.2.20 c++ 知识梳理
  • android 一些 utils
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Docker容器管理
  • ES2017异步函数现已正式可用
  • FastReport在线报表设计器工作原理
  • javascript 总结(常用工具类的封装)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript设计模式之工厂模式
  • Making An Indicator With Pure CSS
  • oschina
  • Promise面试题2实现异步串行执行
  • Python语法速览与机器学习开发环境搭建
  • SpringBoot 实战 (三) | 配置文件详解
  • Vue组件定义
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 带你开发类似Pokemon Go的AR游戏
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #### golang中【堆】的使用及底层 ####
  • #mysql 8.0 踩坑日记
  • (20050108)又读《平凡的世界》
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (6)添加vue-cookie
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (独孤九剑)--文件系统
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计高校学生选课系统
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (一)Docker基本介绍
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)创业的注意事项
  • (转)四层和七层负载均衡的区别
  • (转载)虚函数剖析
  • .NET 材料检测系统崩溃分析
  • .Net6 Api Swagger配置
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded