欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

cmake (0)简介

发布时间:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的这篇文章主要介绍了 cmake (0)简介 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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 (0)简介的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。