C/C++教程

cmake (1)简介

本文主要是介绍cmake (1)简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 问题场景

gcc(GNU Compiler Collection)即为GNU编译器套件,也可以简单认为是编译器,它可以编译很多种编程语言,包括C、C++、Objective-C、Fortran、Java等。当程序只有一个源文件时,直接就可以 用gcc命令编译它。但如果源文件太多,一个一个编译就会显得非常繁琐,于是研发人员想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具。

1.1 makefile

一个规则文件,make依据该规则文件来批处理执行编译。

问题:对于一个大工程,编写makefile是件极其复杂的事,手动编写不仅耗时且容易出错,于是研发人员又想到,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了CMake工具

2. 定义

CMake是一个跨平台的自动化 安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。

  • 输出各种各样的makefile或者project文件 。
  • 编写cmakelists文件,它是CMake所依据的规则(值得注意的是,相对于编写makefile文件,编写makelists文件要简单的多)

2. 1原理

输入:组态档CMakeLists.txt文件(组态档是一种建构软件专用的特殊编程语言写的CMake脚本)
输出:各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
在这里插入图片描述

2.2 CMake 功能

  • 可以编译源代码、制作程序库、产生适配器(wrapper)
  • 可以用任意的顺序建构执行档。
  • 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。
  • 支持静态与动态程式库的建构。
这篇关于cmake (1)简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!