Android NDK开发现在主推使用CMake编译,对于老项目建议使用ndk_build来处理。借此机会收集CMake的内容。

CMake 是什么

关于cmake与make的区别参考make makefile cmake qmake都是什么,有什么区别?
其中部分引用如下,应该可以大概了解其中的区别。

  1. Makefile+make可理解为类unix环境下的项目管理工具,但它太基础了,抽象程度不高,而且在windows下不太友好(针对visual studio用户),于是就有了跨平台项目管理工具cmake
  2. cmake是跨平台项目管理工具,它用更抽象的语法来组织项目。虽然,仍然是目标,依赖之类的东西,但更为抽象和友好,比如你可用math表示数学库,而不需要再具体指定到底是math.dll还是libmath.so,在windows下它会支持生成visual studio的工程,在linux下它会生成Makefile,甚至它还能生成eclipse工程文件。也就是说,从同一个抽象规则出发,它为各个编译器定制工程文件。

CMake学习_第1张图片
可以从上面的图中有一个形象化的认识,cmake是make的一个抽象,方便跨平台,也简化了make的使用难度。

CMake 学习

网上有推荐学习Mastering Cmake这本书,但在Amazon看最新版本评价对新手不太友好。又找了许久觉得CSDN上一些BLOG反而是更加容易上手,一来是大家都是从工程实践中学习,例子丰富,更贴近开发者的需求和学习方式。相比于CMake官方的Documentation,我还是建议从以下收集的一些关于CMake的学习站点开始入手,比如CMake学习系列的6个系列。

  • CMake学习系列
  • CMake 实践(Chinese pdf version from pku, click to download directly)
  • CMake快速入门教程:实战
  • CMake的使用

更多相关文章

  1. Eclipse项目导入Android Studio,.9图片报错解决办法
  2. 关于android更新ADT后,旧工程无法显示Graphical Layout的解决办法
  3. 将Android项目导入Android Studio
  4. Android工程下面没有gen目录
  5. 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态
  6. 将 Android Studio 的项目放入Android 源码编译修改
  7. Android项目优化宝典
  8. Android项目结构 以及体系结构

随机推荐

  1. android:layout_gravity 和 android:grav
  2. 完整安卓 Android开发视频教程共10季,迅雷
  3. 有关Android手机软件详细分析
  4. iPhone和Android(安卓)UI模式比较列表
  5. 基于Android(安卓)平台简易即时通讯的研
  6. [转]android:layout_gravity 和 android:
  7. Android系列教程(3):Android(安卓)SDK中常用
  8. Android面试题集(2019-04-04总结)
  9. Android(安卓)系统及framework 概述
  10. 浅析Android单线程模型