Cmake探究 奏起来!(一)

惰性总是人不可逃避的恶魔,所以我总是尽量让自己动起来,不要让自己的激情一点点的被磨灭。

鉴于目前要做一个比较大的项目,而自己一直以来对automake那一套东西又不是很熟悉,总是觉的配置起来非常的繁琐麻烦,所以驱使自己开始对Cmake的一段旅程。


废话不多说,直奔主题,首先,什么是Cmak?为什么要用Cmake?怎么用?我想作为一个新手接触到Cmake能想到的最直接的几个问题吧。

说的直白一点,对于我来说,它最大的好处是可以自动根据源文件生成linux下的makefile文件,不用我们再手动的去编写makefile文件,同时它又比autotool用起来更加的简单方便,所以它是在一款不可多得linux下的工程构建软件,不论是小型还是大型的软件项目可以说都能够做到得心应手。

既然这么好用,那我们赶紧动手实践一把:
首先,去官网下载最新版cmake软件包:cmake-2.8.10.2-Linux-i386.tar.gz

解压缩之后将路径添加到环境变量:[root@MC12 t1]# export PATH=/root/Downloads/cmake-2.8.10.2-Linux-i386/bin/:$PATH

我们从最简单的项目工程开始,创建工程项目文件夹t1,其中包含两个文件: main.c 和 CMakeLists.txt

main.c

#include <stdio.h>
#include <stdlib.h>
int main()
{
  printf("Hello World from t1 Main!\n");
  return 0; 
}

CMakeLists.txt中就是我们需要向Cmake软件提交的相关工程文件信息,如下:

PROJECT (HELLO)
SET(SRC_LIST main.c)
MESSAGE(STATUS "This is BINARY dir" &{HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir"&{HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello main.c)

接下来,开始构建我们的工程,在当前文件夹中运行: cmake . 注意这个 点 符号,代表是在当前文件夹下运行。

运行后会出现如下类似信息:

-- This is BINARY dir&{HELLO_BINARY_DIR}
-- This is SOURCE dir&{HELLO_SOURCE_DIR}
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/zxz/Cmake/t1

这时候再看文件夹会发现文件夹中多了一些文件,最关键的是多了Makefile文件!这是我们所关心的。

接着运行make命令,得到如下信息:

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

这时候我们的hello项目已经构建完成,运行 ./hello   得到结果

[root@MC12 t1]# ./hello
Hello World from t1 Main!

恭喜,最简单的项目构建已经完成,小小的庆祝一下吧,下面我们开始真正的摸索,因为在大型项目中,构建工作远比目前这个复杂的多。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值