CMake学习

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工程文件。也就是说,从同一个抽象规则出发,它为各个编译器定制工程文件。

cmakelist 
可以从上面的图中有一个形象化的认识,cmake是make的一个抽象,方便跨平台,也简化了make的使用难度。

CMake 学习

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


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇