用cmake替代makefile,构建项目还是蛮简单实用的。

工程目录下src放源代码,build保存所有的编译过程和结果。

首先看看src目录下的源代码结构:

最顶层CMakeLists.txt内容如下:

第一部分介绍了编译的环境,工程的名字main-------project(main) CMAKE_C_COMPILER CMAKE_CXX_COMPLIER

第二部分是编译的选项 CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_BUILD_TYPE

第三部分首先将所有的文件都加入编译(aux),然后加入子目录(add_sub),指明编译工程名称(executable),最后添加子目录中生成的链接库(targer link)以及安装prefix前缀(install)。

在目录中同样要写上CMakeLists.txt

同样的要加入目录下所有的源文件,所不同的是此时要生成链接库add_library供上层目录链接使用。

编译过程比较简单,在build目录中cmake ../src即可生成makefile;然后make生成main,最后make install将其安装到指定目录下。

最后再介绍下vim下写cmake的神级插件,随便写几个命令的单词就可以自动补全啦,非常方便呀。

http://www.vim.org/scripts/script.php?script_id=4279

cmake简易教程的更多相关文章

  1. 生活科技两相宜:(一)Win7使用微软SkyDrive网盘简易教程

    今天得写一个Win7使用微软SkyDrive网盘的简易教程,主要是给我老婆看,顺便贴出来给大家共享一下:)    使用微软SkyDrive网盘有两个层次.一个是使用网页版,这个跟使用163或者QQ网盘 ...

  2. JavaScript简易教程(转)

    原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...

  3. Emacs简易教程

    Emacs简易教程阅读: 命令: $emacs 进入之后,输入: C-h t 这里,C-h表示按住[Ctrl]键的同时按h ####### 20090620 *退出: 输入“C-x C-c” *撤销: ...

  4. CMake使用教程

    转自 RichardXG 原文 CMake使用教程 CMake是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目. 通过编写CMak ...

  5. 文件上传利器SWFUpload入门简易教程

    凡做过网站开发的都应该知道表单file的确鸡肋. Ajax解决了不刷新页面提交表单,但是却没有解决文件上传不刷新页面,当然也有其它技术让不刷新页面而提交文件,该技术主要是利用隐藏的iFrame, 较A ...

  6. 【转】Delphi内嵌ASM简易教程

    Delphi内嵌ASM简易教程 作者:heiying2006-03-19 18:33分类:默认分类标签: 前言 Delphi作为一个快速高效的开发平台,使用的人越来越多,但熟悉在Delphi代码中嵌入 ...

  7. Ant 简易教程

    转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...

  8. Intellj IDEA 简易教程

    Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...

  9. MetaProducts Offline Explorer使用简易教程

    MetaProducts Offline Explorer使用简易教程 by windtrace  20170419 最近想下载一个网站上的内容打包成chm文件,以便离线浏览,webzip太长时间不更 ...

随机推荐

  1. Ajax初步实现页面局部内容更替

    类似于QQ邮箱的那种局部页面跳转,单页应用常用到,目前很多网页都是这种,但是弊端就是一次加载过多资源,首次加载卡出翔啊

  2. 各种工具使得数据分析工作使用python变得越来越流行

    请参看文章:http://strata.oreilly.com/2013/03/python-data-tools-just-keep-getting-better.html

  3. opencv 中文文档地址

    http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html

  4. CMake 入门实战 | HaHack

    CMake 入门实战 | HaHack undefined

  5. IOS开发之内存管理--dealloc该写些什么

    在非ARC开发环境中,dealloc是类释放前,清理内存的最后机会.到底那些变量和属性该释放呢,一些特殊的类(nstimer,observer)该怎么释放.需要注意的是不释放会引起内存泄露,过度释放也 ...

  6. (8/18)重学Standford_iOS7开发_协议、block、动画_课程笔记

    第八课: 1.协议 另一种安全处理id类型的方式如:id <MyProtocol> obj a.声明 //协议一般放于.h文件中或者在类的.h文件中 @protocol Foo <X ...

  7. Ubuntu14.04搭建cocos2dx2.2.5开发环境(超级具体)

    一 下载解压 官方下载地址:http://www.cocos2d-x.org/download 下载下来之后解压完毕之后会得到一个文件夹cocos2d-x-2.2.5 二 编译 1 安装依赖 cd到c ...

  8. 去掉搜狗拼音烦人的x+;进入搜狗搜索

  9. ios9中 UIStackView的使用

    ios9中 UIStackView的使用 by 伍雪颖 UIStackView能够垂直或水平排布多个subview, 自己主动为每一个subview创建和加入Auto Layout constrain ...

  10. hadoop错误Ignoring exception during close for org.apache.hadoop.mapred.MapTask$NewOutputCollector@17bda0f2 java.io.IOException Spill failed

    1.错误    Ignoring exception during close for org.apache.hadoop.mapred.MapTask$NewOutputCollector@17bd ...