0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows下编译工具CMake的安装和最简使用

832065824 来源:CSDN博主西晋的no1 2023-11-14 10:18 次阅读

前言

MCU的开发环境一般在Windows操作系统上,简单的工程一般直接编写Makefile文件后使用make工具构建程序,复杂的工程一般借助CMake来生成Makefile文件后使用make工程构建程序(Autosar工程已经很复杂,一般使用CMake来构建工程)。本文将介绍Windows下编译工具CMake的安装和最简使用。

正文

一、Cmake 介绍

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。

Makefile想必大家都不陌生吧,它能够解决我们的自动化编译问题,大多是IDE软件都集成了make,譬如 Visual C++的 nmake、linux 下的 GNU make、Qt 的 qmake 等等。

不同的IDE所集成的make工具所遵循的规范和标准都不同,也就导致其语法、格式不同,也就不能很好的跨平台编译,会再次使得工作繁琐起来

那么cmake为了解决这个问题而诞生了,其允许开发者指定整个工程的编译流程,在根据编译平台,生成本地化的Makefile和工程文件,最后用户只需make编译即可

简而言之,可以把cmake看成一款自动生成 Makefile的工具,所以编译流程就变成了:cmake—>make–>用户代码–>可执行文件。

c67b9174-828b-11ee-939d-92fbcf53809c.png

二、下载安装Cmake,配置环境变量,检验安装是否正常

1.下载Cmake

下载地址:Download CMake

点击链接(点击不了,复制链接地址到浏览器即可)进入cmake官网下载网页,下载最新稳定版即可(Latest Release)

c69ae68c-828b-11ee-939d-92fbcf53809c.png

我这里下载的是cmake-3.26.4-windows-x86_64.msi(PS: 根据个人电脑windows系统位数下载对应的版本)

若不想安装,可直接下载压缩包版本cmake-3.26.4-windows-x86_64.zip。

2.安装cmake,配置环境变量

CMake的安装非常简单。压缩包版本直接解压即可,安装版本也可一直点击下一步进行安装。为了使用方便,可将CMake配置到环境变量中,当然,这一步也可以在安装过程中设置。另外需要注意的是为了避免不必要的麻烦,路径中最好不要包括中文字符。下面简单描述一下安装过程。

2.1.双击下载的安装包,进入安装界面,点击[Next]。

c6b7d418-828b-11ee-939d-92fbcf53809c.png

2.2.勾选同意许可后,点击[Next]。

c6cf5732-828b-11ee-939d-92fbcf53809c.png

2.3.可在此处选择将CMake路径添加到环境变量中,并且创建CMake GUI程序的桌面快捷方式。然后点击[Next]。

c6e6cf34-828b-11ee-939d-92fbcf53809c.png

2.4.可在此处自定义安装目录,设置好后点击[Next]。

c6fb4518-828b-11ee-939d-92fbcf53809c.png

2.5.开始安装,安装完成后点击[Next]。

c70bf55c-828b-11ee-939d-92fbcf53809c.png

2.6.安装完成,点击[Finish],结束安装过程。

c71f0f84-828b-11ee-939d-92fbcf53809c.png

3.检验安装是否正常

安装完成后,即可使用CMake了。在命令行中输入"cmake --version",可看到如下图所示的输出。

c72febce-828b-11ee-939d-92fbcf53809c.png

三、下载安装MinGW,配置环境变量,检验安装是否正常

cmake并不能完成整个工程的编译,cmake会输出makefile文件,我们需要用这个生成的makefile进行make编译。那就需要在windows环境中安装MinGW。

1.下载MinGW

到页面:Find out more about MinGW-w64 - for 32 and 64 bit Windows | SourceForge.net 下载离线安装包

https://sourceforge.net/projects/mingw-w64/postdownload

c74a1aa8-828b-11ee-939d-92fbcf53809c.png

我下载了x86_64-posix-sjlj的压缩包。

2.安装MinGW

将下载下来的x86_64-posix-sjlj压缩包解压缩便得到了mingw64。

c7741a06-828b-11ee-939d-92fbcf53809c.png

可以看到,这个是可以直接用的版本了

c785c1c0-828b-11ee-939d-92fbcf53809c.png

3.配置环境变量

直接将/bin路径添加到环境变量中即可。

c79c95b2-828b-11ee-939d-92fbcf53809c.png

在命令行下,g++ --versiongcc --version命令有效

c7bd5018-828b-11ee-939d-92fbcf53809c.png

由于我们需要在window下直接输入make,就可以识别makefile并且自动编译,可以将MinGW安装路径bin文件下的mingw32-make.exe复制一份并重命名为make.exe。

注意:一定要复制一份再重命名,否则后续会出现其他问题

c7de9a20-828b-11ee-939d-92fbcf53809c.png

4.检验安装是否正常

打开cmd输入make -version,出现如下信息表示安装成功。

c7fb7582-828b-11ee-939d-92fbcf53809c.png

四、使用Cmake编译一个简单的小工程

新建一个文件夹(路径中不要有中文),在该文件夹中新建两个文件CMakeLists.txt和hello_cmake.c,两个文件内容如下:

CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project (hello_cmake)
add_executable(hello_cmake hello_cmake.c)

第一行代码指定了构建项目所需的最低CMake版本。

第二行指定了工程的名字,随后输出的exe可执行文件也会和它同一个名称 -

project 命令用于设置工程的名称,括号中的参数 hello_cmake 便是我们要设置的工程名称;设置工程名称并不是强制性的,但是最好加上。

第三行表示项目需要构建一个exe可执行文件,并且它由hello_cmake.c编译而成 -

在本例中传入了两个参数,第一个参数表示生成的可执行文件对应的文件名,第二个参数表示对应的源文件;表示需要生成一个名为 hello_cmake 的可执行文件,所需源文件为当前目录下的 hello_cmake.c。

hello_cmake.c

#include 


int main(int argc, char *argv[])
{
  printf("Hello CMake!
");
  getchar();
  return 0;
}

c80d3a2e-828b-11ee-939d-92fbcf53809c.png

打开cmd进入当前目录,输入如下命令行。

mkdir build

cd build
cmake -G "MinGW Makefiles" ..
make
hello_cmake.exe

:关键的命令 cmake -G "MinGW Makefiles" .. 。若遇到用CMake构建c/c++程序时报错,可尝试把编译时的cmake .改为:cmake -G "MinGW Makefiles" .

如下图所示:

c827ff12-828b-11ee-939d-92fbcf53809c.png

来源:CSDN博主西晋的no1

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3524

    浏览量

    88398
  • 操作系统
    +关注

    关注

    37

    文章

    6727

    浏览量

    123181
  • 编译
    +关注

    关注

    0

    文章

    652

    浏览量

    32800
  • Makefile
    +关注

    关注

    1

    文章

    125

    浏览量

    19161
  • CMake
    +关注

    关注

    0

    文章

    28

    浏览量

    1262

原文标题:Windows下CMake的小白级入门使用教程(hello world)

文章出处:【微信号:汽车电子嵌入式,微信公众号:汽车电子嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux系统交叉编译工具链的安装方法

    今天主要和大家聊一聊,如何使用Linux系统的交叉编译工具链的方法。
    发表于 11-21 09:30 3306次阅读

    cmake是什么?cmake的特性和编译原理(cmake原理和cmake编译过程)

    CMake是一个开源、跨平台的工具系列,是用来构建、测试和打包软件。
    的头像 发表于 07-18 10:53 4389次阅读
    <b class='flag-5'>cmake</b>是什么?<b class='flag-5'>cmake</b>的特性和<b class='flag-5'>编译</b>原理(<b class='flag-5'>cmake</b>原理和<b class='flag-5'>cmake</b><b class='flag-5'>编译</b>过程)

    跨平台编译工具cmake的简单使用

    在使用不同平台的电脑时,使用的编译也会不一样,如果想把一个项目在不同平台下编译,那有什么方式可以实现这样的需求呢,这就是这篇文章就来介绍其中的一种方式,就是使用cmakecmake
    发表于 08-14 10:40 1125次阅读
    跨平台<b class='flag-5'>编译</b><b class='flag-5'>工具</b><b class='flag-5'>cmake</b>的简单使用

    Linux如何使用CMake编译程序

    今天分享一篇关于 cmake 的相关文章,通过这个工具可以生成本地的Makefile。让我们不用去编写复杂的Makefile。
    的头像 发表于 11-21 09:28 1650次阅读
    Linux<b class='flag-5'>下</b>如何使用<b class='flag-5'>CMake</b><b class='flag-5'>编译</b>程序

    【DragonBoard 410c试用体验】cmake安装为后续opencv准备

    CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能
    发表于 10-02 22:22

    Windows环境GCC For ARM编译工具链的安装和使用

    本文以 N32L43x 为例,介绍了在 Windows 环境 GCC For ARM编译工具链的安装和使用。用户可参考本文档进行开发环境搭
    发表于 11-02 07:24

    如何使用CMake去构建RT Thread例子工程?

    GUN工具链完成编译链接操作。在 RT-Thread 4.1.0 正式发布版中,添加了对 CMake 的支持。开发者可以使用 SCons 工具来生成 CMakeLists.txt 文
    发表于 02-20 15:36

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

    交叉平台开源编译系统_cmake入门
    发表于 01-22 13:59 9次下载

    CMake安装编译工具应用程序免费下载

    CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装编译过程)。他能
    发表于 08-07 08:00 2次下载
    <b class='flag-5'>CMake</b><b class='flag-5'>安装</b><b class='flag-5'>编译</b><b class='flag-5'>工具</b>应用程序免费下载

    cmake管理配置ROOT项目的方法

    ROOT作为使用C++开发的工具库,自然少不了cmake这个项目组织工具。本文简单介绍cmake管理配置ROOT项目的方法,先上总图  
    的头像 发表于 01-18 17:45 4554次阅读
    <b class='flag-5'>cmake</b>管理配置ROOT项目的方法

    WINDOWSANACONDA的安装和简单使用.

    WINDOWSANACONDA的安装和简单使用.(数字电源技术及其应用 pdf)-WINDOWSANACONDA的
    发表于 09-18 12:58 9次下载
    <b class='flag-5'>WINDOWS</b><b class='flag-5'>下</b>ANACONDA的<b class='flag-5'>安装</b>和简单使用.

    WindowsAnaconda的安装和简单使用

    WindowsAnaconda的安装和简单使用(电镀直流电源技术要求)-WindowsAnaconda的
    发表于 09-18 14:47 11次下载
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>Anaconda的<b class='flag-5'>安装</b>和简单使用

    VisualStudio+CMake+SDCC搭建C51开发环境

    目标尝试使用VS创建CMake项目, 调用SDCC编译器进行编译3. 解决方案需要的工具安装了使用C++的桌面开发功能并且包含了用于
    发表于 11-21 15:51 17次下载
    VisualStudio+<b class='flag-5'>CMake</b>+SDCC搭建C51开发环境

    "Linux使用VSCode,GCC,OpenOCD实现STM32一键编译烧录调试(STM32CubeMX篇)"

    器STM32CubeMX生成工程OpenOCD烧录json脚本实现一键编译烧录调试开发工具安装Visual Studio Code与插件Visual Studio Code的安装和使用
    发表于 12-06 09:36 7次下载
    "Linux<b class='flag-5'>下</b>使用VSCode,GCC,OpenOCD实现STM32一键<b class='flag-5'>编译</b>烧录调试(STM32CubeMX篇)"

    在Linux如何使用CMake编译程序

    拿到其它平台上使用,无需修改,非常方便。 本文主要讲述在Linux如何使用CMake编译我们的程序。 一 环境搭建 我使用的是ubuntu18.04,安装
    的头像 发表于 11-08 16:15 6062次阅读
    在Linux<b class='flag-5'>下</b>如何使用<b class='flag-5'>CMake</b><b class='flag-5'>编译</b>程序