RSS
热门关键字:
当前位置 :| 主页>新手入门>

交叉平台开源编译系统:cmake入门

来源:linuxeden 作者:linuxeden 时间:2009-10-22 Tag:cmake   点击:

    从2001年诞生到现在,cmake(Cross-platform Make)已经在KDE4,rosegarden等大型项目完全使用cmake来进行构建证明了cmake的可用性和大项目管理 能力。正是由于autotools的复杂性使得KDE项目中只有少数几个“编译专家”能够掌握 KDE现在的构建体系,引用一位KDE开发者的话:“Cmake不再使你在构建项目时郁闷地想自杀了”。最终促成了KDE转而使用cmake来构建项目。

    废话不多说,开始我们的cmake入门标准程序“helloworld”。首先当然要确认你的linux是否安装了cmake,目前cmake已经成为各 大Linux发行版提供的标准组件因此绝大部分linux都默认安装了cmake。只需在终端输入命令cmake或者cmake --help,输出一大堆cmake说明就证明cmake已经安装在你的电脑,如果报错command not found的话使用yum/apt等工具安装即可,想源码编译就直接去http://www.cmake.org官方网站下载安装。
   
    新建目录mkdir cmake,然后在cmake目录中新建hello.c文件,内容如下:

//hello.c
#include <stdio.h>
int main()
{
     printf(“Hello World !!!!!!!!!!!!!!!!!!\n”);
     return 0;
}

 

    接着在cmake目录中新建CMakeLists.txt文件,内容如下:

PROJECT (HELLO)
ADD_EXECUTABLE(hello hello.c)   



    最后在cmake目录中新建一个目录build,并进入build目录进行编译,命令如下:
$ mkdir build
$ cd build
$ cmake ..

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/lib/ccache/gcc
-- Check for working C compiler: /usr/lib/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- This is SOURCE file hello.c
-- This is BINARY dir /home/mgqw/Desktop/test/cmake/build
-- This is SOURCE dir /home/mgqw/Desktop/test/cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mgqw/Desktop/test/cmake/build



$ make

Scanning dependencies of target hello
[100%] Building C object CMakeFiles/hello.dir/hello.c.o
Linking C executable hello
[100%] Built target hello



$ ./hello

Hello World !!!!!!!!!!!



    所有步骤就这样全部完成了,是不是比autotools要简单得多?所有生成的数据文件全部在build目录下(在哪个目录运行cmake命令那些数据文 件就生成在哪里,只需要说明CMakeLists.txt路径就行),不像autotools那样和源码文件混杂在一起,看得人头晕。
    当然并不是说有了cmake就要放弃autotools,cmake和autotools各有各的优点什么时候该用什么,自己去衡量。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册

_×
嵌入式linux中文站
QQ群讨论 微博订阅

微信扫一扫关注我们
随时获取最新开源资讯