美文网首页
C语言编译 - CMake

C语言编译 - CMake

作者: 交大小丑 | 来源:发表于2020-07-05 02:31 被阅读0次

什么是 CMake

  1. 有人会提出疑问,我们不是用Mingw-w64配置好gcc了吗,不就已经实现C++代码的正常运行了嘛?为什么还要cmake呢?其实不难发现,我们上次配置的gcc仅仅适用于运行单个源文件,但是面对大的项目,就会变得很棘手!
  2. 当然,你如果觉得这些配置比较复杂,你可以选择使用Visual Studio或者是更加专业的CLion
    这是一个集成块发环境(IDE),所有的东西都不需要你手动去配置,你只需要把程序写好,点击三角形运行就可以了。
    • 缺点:
      1. 但是这是过于“傻瓜式”的东西,如果想对C或者编译 原理做 进一步的理解的话,还是希望大家 可以自己配置!
      2. Visual Studio、CLion要钱 !
      3. 即使说你可以破解,但是Visual Studio的占用空间比较大,一般安装下载完需要3~4GB,会带来一定的卡顿
      3. 我们在这里做详细的介绍,以及cmake配置的步骤详解!
  3. cmake VS gcc
    1. 什么是gcc?
    gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。
    2. gcc的缺陷
    在上一篇博文中我们用gcc来编译C++,我们会发现每个可执行的.exe都需要单独配置,也就是说:当你的程序只有一个源文件时,直接就可以用gcc命令编译它。
    但是如果你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大
    3. 引入make
    make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式——通过调用makefile文件中用户指定的命令来进行编译和链接的。
    4. 什么是makefiles?
    一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,也可以执行操作系统的命令。
    make需要按照makefile中的命令执行!
    makefile命令中就包含了调用许多编译器(如我们这里多用到的gcc编译器)去编译某个源文件的命令。
    人总是“懒惰的”,makefile在一些简单的工程完全可以人工手写,但是当工程非常大的时候,手写makefile也是非常麻烦的,如果换了个平台makefile又要重新修改。因此我们引入了cmake
    5. 什么是cmake呢?
    CMake这个名字是cross platform make的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。
    CMake可以更加简单的生成makefile文件给上面的make用。当然CMake还可以跨平台生成对应平台能用的makefile,你不用再自己去修改了。
    6. CMake生成makefile的原理
    cmake生成makefile的原理是根据一个叫CMakeLists.txt文件(学名:组态档)去生成makefile。当然CMakeLists.txt就需要你自己去手写了!

CMake安装

CMake下载

CMake官网: https://cmake.org/download/

  • 国外网站网速有点慢,可能下不下来。
  • 可以使用网盘去找资源。

Cmake安装

  1. 选择好自己电脑是什么系统,以及是32位还是64位。(P.S.x86指的是32位系统;x64指的是64位系统)
    1.. 选择自己系统,这里安装windows
  2. 选择安装版本
  • .msi 为安装版本,安装过程中自动配置; .zip 为压缩版本,安装过程中手动配置
  • msi 与zip 的区别:1)集成方式不同。msi:是microsoft installer的简写,是微软格式的安装du包; zip:是一种数据zhi压缩和文档dao储存的文件格式。zip是压缩包,而MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据,只要系统中包含windows installer支持就能够使用。
image.png

Cmake使用

如何构建一个CMake项目(译) - 42&Curry - 博客园 https://www.cnblogs.com/42-Curry/p/9752022.html

参考文章

cmake简明教程-半小时从入门到精通_qccz123456的博客-CSDN博客_cmake教程 https://blog.csdn.net/qccz123456/article/details/80639817

相关文章

  • centos安装mysql5.5

    相关准备 gcc、gcc-c++//c语言编译 cmake//mysql编译 ncurses-devel//字符终...

  • C语言编译 - CMake

    什么是 CMake 有人会提出疑问,我们不是用Mingw-w64配置好gcc了吗,不就已经实现C++代码的正常运行...

  • cmake使用

    tags: 嵌入式categories: 开发 cmake 总结 交叉编译 设置编译器CMAKE_FORCE_C_...

  • CMake搭建项目工程(2)-CMake控制命令、函数与宏、安装

    CMake+GoogleTest搭建项目工程(1)-C/C++编译及CMake那些事本篇主要阐述CMake的其他常...

  • CentOS6.5安装FastDFS

    1.安装gcc(c语言开发,需要使用gcc编译) 命令:yum install make cmake gcc gc...

  • cmake常用编译选项

    cmake常用编译选项 这里记录一下cmake中常用的c/c++编译选项,常用的有两个,add_compile_o...

  • cmake

    添加编译器开关 可以通过CMAKE_C_FLAGS(C)变量和CMAKE_CXX_FLAGS(C++)变量设置。比如:

  • FastDFS安装

    1.安装FastDFS依赖 FastDFS是C语言开发的应用.安装必须使用make,cmake和gcc编译器 # ...

  • android studio中CMakeList

    以编译mbedtls 和使用自己的c文件编译为例,主cmakelist #指定需要CMAKE的最小版本 cmake...

  • 使用CMake编译C/C++程序

    官方手册 CMake Tutorial CMake Reference 作用 定义程序编译规则 基本流程 编写C...

网友评论

      本文标题:C语言编译 - CMake

      本文链接:https://www.haomeiwen.com/subject/kxndqktx.html