当前位置: 首页 > news >正文

CMake入门教程【基础篇】CMake+Minggw构建项目

文章目录

  • Minggw是什么
  • Minggw下载
  • CMake下载安装
      • 第1步:下载CMake
      • 第2步:安装CMake
  • 如何构建和编译项目:使用CMake和MinGW
  • 总结

Minggw是什么

MinGW(Minimalist GNU for Windows)是一个免费的软件开发环境,旨在提供一个符合POSIX的最小工具集,用于在Microsoft Windows平台上进行本地Windows应用程序的开发。它包括一组可以生成原生Win32程序的开发工具,比如GCC(GNU编译器集合),它支持C、C++、和Fortran语言。MinGW提供了一个基本的开源编译环境,无需复杂的运行时依赖,因此它广受Windows平台上使用GNU工具的开发者欢迎。简而言之,MinGW是一个使GNU工具在Windows上可用的轻量级解决方案。

Minggw下载

https://www.mingw-w64.org/downloads/#mingw-builds
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

CMake下载安装

第1步:下载CMake

https://cmake.org/
在这里插入图片描述

首先,访问CMake官方网站。在这里,您会找到适用于不同操作系统的CMake版本。对于Windows用户,您应该下载“.msi”安装文件,这是一个标准的Windows安装包。
在这里插入图片描述

  • windows
    下载 cmake-3.28.1-windows-x86_64.msi

第2步:安装CMake

下载完毕后,双击“.msi”文件开始安装过程。您将被引导通过几个简单的步骤:

  1. 许可协议:阅读并接受许可协议。
  2. 选择安装目录:可以选择默认路径,或自定义安装路径。
  3. 添加环境变量:建议选择将CMake添加到系统PATH,这样可以在任何命令行界面中直接使用CMake。

完成这些步骤后,继续安装过程并等待其完成。

如何构建和编译项目:使用CMake和MinGW

  • main.cpp
#include <iostream>int main() {std::cout << "Hello, CMake and MinGW!" << std::endl;return 0;
}
  • CMakeLists.txt
cmakeCopy codecmake_minimum_required(VERSION 3.10)
project(MyProject VERSION 1.0)add_executable(MyApp main.cpp)
  • 生成构建文件

打开命令行工具,并切换到您的项目目录。使用以下命令来生成MinGW的Makefiles:

cmake -G "MinGW Makefiles" .

这条命令告诉CMake使用MinGW Makefiles生成器,并在当前目录下创建必要的构建文件。

  • 编译项目

一旦生成了构建文件,使用Make来编译您的项目:

mingw32-make

这条命令将调用MinGW的make工具来编译项目。

  • 运行程序

编译完成后,您将在项目目录中看到一个可执行文件MyApp.exe(或者只是MyApp,这取决于您的CMake配置)。运行这个可执行文件:

./MyApp

控制台

输出“Hello, CMake and MinGW!”

总结

通过这些步骤,您应该能够使用CMake和MinGW在Windows上成功地构建和编译一个简单的C++项目。这个过程展示了CMake在构建项目时的强大功能,以及MinGW作为编译器的灵活性和效率。

http://www.lryc.cn/news/271477.html

相关文章:

  • 2024年原创深度学习算法项目分享
  • Linux自定义shell编写
  • 堆的应用:堆排序和TOP-K问题
  • element表格排序功能
  • HNU-Java程序设计基础训练-2023
  • 数据库和数据库编程
  • 爬虫基础一(持续更新)
  • 右键菜单“以notepad++打开”,在windows文件管理器中
  • JSON.parseObject强制将自动转化的Intage型设置为Long型
  • Redis的集群模式:主从 哨兵 分片集群
  • Note: An Interesting Festival
  • iview表格固定列横向滚动条无法拖动问题
  • Python序列之集合
  • 智慧园区物联综合管理平台之架构简述
  • 国科大图像处理2023速通期末——汇总2017-2019
  • oracle 9i10g编程艺术-读书笔记2
  • PACC:数据中心网络的主动 CNP 生成方案
  • 我最喜欢的趣味几何书-读书笔记
  • Stable Diffusion模型概述
  • 二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
  • C++日期类的实现
  • B+树的插入删除
  • c# Avalonia 绘图
  • springboot 双数据源配置
  • Redis内存使用率高,内存不足问题排查和解决
  • bootstrap5开发房地产代理公司Hamilton前端页面
  • 2024年Mac专用投屏工具AirServer 7 .27 for Mac中文版
  • 关于MySql字段类型的实践总结
  • UG NX二次开发(C#)-Ufun和NXOpen混合编程
  • 【Spark精讲】一文讲透Spark RDD