现在位置: 首页 > CMake
2021-03-21 22:49 工业·编程 ⁄ 共 1880字 暂无评论
Qt 的make系统也挺坎坷的,qmake用了很多年了,设计比较简陋,qmake不是个脚本语言,也不是像json xml这种有schema的标记语言,就是个简单的配置选项,很难再继续扩展,qmake只用于Qt没有其它生态。 后来Qt 发起了qbs,希望基于Javascript语法做一套make系统,但是这个项目没成功 对于Qt这个规模的项目,剩下的选择就不多了,必须功能强大完整,必须跨平台,必须有成熟的生态,基本只有cmake可以选了。 cmake基本用过的人都不会...
阅读全文
2019-08-15 06:55 工业·编程 ⁄ 共 6443字 暂无评论
上一篇文章中我们初步认识了CMake中的一些概念:target(目标)、command(命令)等等。这篇文章我们来学习一下CMake的原理,并详细阐述这些概念。 1 CMake的结构     CMake有三个关键概念:target、generator和command,其中target和command我们已经有所了解了。在CMake中,这些东西本质上都是C++的类。理解这些概念对于编写出高效的CMake构建脚本很有帮助。 在更进一步了解CMake这些概念之前,有必要先了解一...
阅读全文
2019-08-14 06:51 工业·编程 ⁄ 共 2091字 评论 1 条
  平时开发中我们已经习惯了让IDE为我们做好一切,大部分情况下基本上不需要手动去编写项目的make文件,但是在规模较大的项目中,make其实非常重要,甚至可以说会不会make决定了你是否真的了解项目的整体架构并驾驭它。因为自己在Android开发中发现项目中的NDK部分已经抛弃了传统的Android.mk,与时俱进用上了CMake,因此打算静下心来好好学习学习,本文开始对学习CMake的过程做个笔记,以加深印象。参考书籍是《mastering...
阅读全文
2019-08-13 05:45 工业·编程 ⁄ 共 15416字 暂无评论
什么是 CMake All problems in computer science can be solved by another level of indirection. David Wheeler 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为...
阅读全文
2019-08-08 06:51 工业·编程 ⁄ 共 443字 暂无评论
大家都知道,写程序大体步骤为: 1.用编辑器编写源代码,如.c文件。 2.用编译器编译代码生成目标文件,如.o。 3.用链接器连接目标代码生成可执行文件,如.exe。 但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这...
阅读全文
2019-08-07 06:41 工业·编程 ⁄ 共 2282字 暂无评论
C/C++程序员肯定离不开Makefile和Cmake,因为如果对这两个工具不熟悉,那么你就不是一个合格的C/C++程序员。本文对Makefile和Cmake,及它们的使用进行了详细的介绍。 一、Makefile详解     Makefile描述了整个工程的编译、连接等规则,makefile定义了一些列规则来指定,哪些文件需要编译以及如何编译、需要创建哪些库文件以及如 何创建这些库文件、如何产生我们想要的可执行文件。使用Makefile,整个工程都可以...
阅读全文
2019-08-06 06:30 工业·编程 ⁄ 共 2132字 暂无评论
cmake是kitware公司以及一些开源开发者在开发几个工具套件(VTK)的过程中所产生的衍生品。后来经过发展,最终形成体系,在2001年成为一个独立的开放源代码项目。其官方网站是www.cmake.org,可以通过访问官方网站来获得更多关于cmake的信息,而且目前官方的英文文档比以前有了很大的改进,可以作为实践中的参考手册。 cmake的流行离不开KDE4的选择。KDE开发者在使用autotools近10年之后,终于决定为KDE4项目选择一个新的工程构建...
阅读全文
CMake简介 CMake是一个工具,可以帮助我们实现跨平台开发的工具,在实际开发中可以发挥重要的作用。 我们先图解一下CMake的作用: 假如我们现在有一个在不同平台都有共享代码的C++的工程,这些平台分别是:Windows、OSX、Linux,在这些平台使用的IDE分别是:Visual Studio、Xcode,现在有一份公共的代码:one.cpp,已经部署在三个平台上。 现在,我们需要新加一个 bar.cpp,正常来说,我们需要在每一个平台下面按照相应的规则...
阅读全文