【Window环境下使用MSYS2搭建CMake + MinGW环境】

article/2025/8/14 19:11:46

目录标题

  • 安装`CMake`
    • `cmake` 测试
  • MSYS2
    • 下载`MSYS2`
    • 安装`MSYS2`
    • 修改软件下载源
  • MSYS2下安装MinGW
    • 配置`MinGW`配置到环境变量
  • `hello world`测试

安装CMake

Cmake下载地址:https://cmake.org/download/,下一个windows压缩包就好了,因为我比较喜欢自己来配置,免得不知道安装程序干了什么。当然也可以考虑下一个msi格式的。
cmake安装包
解压之后看到的目录结构是:
cmake目录结构
接下来需要将bin目录配置到环境变量Path中。

配置环境变量

cmake 测试

我们可以打开Windows终端,输入cmake测试。
cmake测试
如上,若cmake正常输出,则说明cmake已经成功安装了。

MSYS2

下载MSYS2

MSYS2的官网地址:https://www.msys2.org/
但是不太好的是 官网在国外,下载的速度可能会比较慢,建议使用清华的镜像来下载,清华镜像地址: https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/
我这里下载的是:https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/msys2-x86_64-20221028.exe

安装MSYS2

安装就比较简单了,几乎傻瓜似的下一步、下一步就可以完成。就简单注意一下,第二步中的安装目录就好了:
安装目录。看别人将需要放到磁盘根目录, 我并没有,而是安装到了D:\dev\msys64下, 后续操作感觉没有什么异样。
安装完之后在Windows的开始菜单下可以看到如下的三个快捷方式:
快捷方式
点击·MSYS2 MSYS·,就可以运行出MSYS2的运行环境了。 也可以在安装目录中找到msys2.exe。进行运行。
可执行程序

修改软件下载源

软件下载源的配置文件在安装目录下的\msys64\etc\pacman.d文件夹下:
目录中有一个文件mirrorlist.msys, 该文件就是软件源的配置文件。内容大致如下, 可以把国内镜像的放前面来,加快下载的速度。

# See https://www.msys2.org/dev/mirrors## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = https://mirror.msys2.org/msys/$arch/
Server = https://repo.msys2.org/msys/$arch/## Tier 1
Server = https://mirror.umd.edu/msys2/msys/$arch/
Server = https://mirror.yandex.ru/mirrors/msys2/msys/$arch/
Server = https://download.nus.edu.sg/mirror/msys2/msys/$arch/
Server = https://ftp.acc.umu.se/mirror/msys2.org/msys/$arch/
Server = https://ftp.nluug.nl/pub/os/windows/msys2/builds/msys/$arch/
Server = https://ftp.osuosl.org/pub/msys2/msys/$arch/

MSYS2下安装MinGW

打开MSYS2运行环境
运行环境
输入命令安装MingGw

 pacman -S mingw-w64-x86_64-gcc pkg-config

执行完成之后MSYS2目录下会多一个mingw64
另外还需要安装一下mingw64makecmake组件.

  1. 安装make组件
pacman -S mingw-w64-x86_64-make
  1. 安装·cmake·组件
pacman -S  mingw-w64-x86_64-cmake

配置MinGW配置到环境变量

mingw64bin目录配置到环境变量Path中。
path环境变量
否则后续cmake命令时无法找到CMAKE_MAKE_PROGRAM ,出现类似以下异常信息。

CMake Error: CMake was unable to find a build program corresponding to "MSYS Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_AR was not found, please set to archive program.
-- Configuring incomplete, errors occurred!
See also "D:/tmp/java/opencv/10_hello_mingw/build/CMakeFiles/CMakeOutput.log".

hello world测试

  1. 新建一个hello world目录,取名demo1吧.
  2. demo1目录下新建一个main.cpp程序文件, 写上hello world代码,如下:
#include <iostream>
using namespace std;int main(){cout << "hello cmake!!!" <<  endl;return 0;
}
  1. 新建一个cmake配置文件CMakeLists.txt,内容如下:
cmake_minimum_required(VERSION 3.2)
project(hello_mingw)
set(CMAKE_AR  D:/dev/msys64/mingw64/bin/ar.exe)
set(CMAKE_C_COMPILER  D:/dev/msys64/mingw64/bin/gcc.exe)
set(CMAKE_CXX_COMPILER  D:/dev/msys64/mingw64/bin/g++.exe)
add_executable(main main.cpp)
  1. 新建一个build目录, 以免代码混乱。
    测试目录

  2. build目录下使用,执行命令:

cmake -G "MinGW Makefiles" ..

cmake配置环境
6. 在build目录下使用, 执行命令,进行编译。

cmake --build .

编译
7. 执行main.exe
执行demo程序
9. 从上可以看到hello cmake!!!。被输出,程序执行成功。


http://chatgpt.dhexx.cn/article/fyuGZB69.shtml

相关文章

用MSYS2安装mingw

文章目录 前言卸载mingw安装MSYS2 前言 安装MSYS2的原因是&#xff0c;在windows安装protobuf时&#xff0c;想用mingw编译protobuf的库&#xff0c;而protobuf的官方手册只给出一句&#xff1a; To build from source using Cygwin or MinGW, follow the Unix installation i…

【VSCode】【msys2】VS Code + msys2配置Windows下C/C++开发环境

【VSCode】【msys2】VS Code msys2配置Windows下C/C开发环境 一、Msys2配置 1. 下载msys2, 网址&#xff1a;https://www.msys2.org/ 2. 安装msys2-x86_64-xxxx.exe 这里没什难度&#xff0c;记住安装路径就好&#xff0c;一路next就装好了。 3. 安装gcc 3.1. 更新msys2…

Msys2记录

MSYS2 ​ MSYS2是MSYS的升级版&#xff0c;集成了pacman和Mingw-w64的Cygwin升级版&#xff0c;提供了Mingw-w64的GNU工具&#xff0c;包括GCC&#xff0c;同时移植了Arch Linux的软件包管理系统pacman&#xff0c;具备了Cygwin的POSIX API&#xff0c;理论上在Linux上的程序使…

msys2在windows10系统的安装

测试系统: windows 10 首先需要msys2的安装包,可以去官网下载安装包 官网地址: http://www.msys2.org/ 本次下载的是 msys2-x86_64-20180531.exe 注意:1.msys2不可以安装在FAT*分区    2.msys2不能安装在win XP系统上 1.双击msys2-x86_64-20180531.exe,并点击下一步选择安…

MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)

一、安装 测试系统: windows 10 首先需要msys2的安装包,可以去官网下载安装包 官网地址: http://www.msys2.org/ 本次下载的是 msys2-x86_64-latest.exe 注意: 1. msys2不可以安装在FAT*分区 2. msys2不能安装在win XP系统上 指定好安装路径&#xff08;一般D根目录即可&#…

初步使用MSYS2

在此镜像站点下载&#xff0c; https://mirror.tuna.tsinghua.edu.cn/help/msys2/ 根据资料&#xff0c; MSYS2 &#xff08;Minimal SYStem 2&#xff09; 是一个MSYS的独立改写版本&#xff0c;主要用于 shell 命令行开发环境。同时它也是一个在Cygwin &#xff08;POSIX …

超详细教程:windows安装MSYS2(mingw gcc)——更新于2021.11

目录 安装 MSYS2官网&#xff1a;https://www.msys2.org/ 安装 下载安装程序&#xff08;官网首页有&#xff09;&#xff1a;msys2-x86_64-20210725.exe 或 CSDN&#xff1a;https://download.csdn.net/download/ymzhu385/45988277运行安装程序。MSYS2 需要 64 位 Windows 7…

Argparse 教程

官方文档 argparse --- 命令行选项、参数和子命令解析器 — Python 3.10.2 文档 别人的笔记Argparse 教程 — Python 3.10.2 文档https://docs.python.org/zh-cn/3/howto/argparse.html#id1完整的argparse的API argparse --- 命令行选项、参数和子命令解析器 — Python 3.8…

python argparse

argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数&#xff0c;然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册&#xff0c;并在用户给程序传入无效参数时报出错误信息。 使用argparse从命令行传入参…

python argparse type_python argparse详解

1.argparse模块作用 用于解析命令行参数 2.位置参数和可选参数 运行以下代码: import argparse parser = argparse.ArgumentParser() args = parser.parse_args() 运行结果: 参数为-h或--help时,parser.parse_args()会输出命令行的位置参数position arguments和可选参数opti…

Python3中使用argparse模块解析命令行参数

argparse是Python的一个标准模块&#xff0c;用于解析命令行参数&#xff0c;即解析sys.argv中定义的参数。实现在&#xff1a;https://github.com/python/cpython/blob/main/Lib/argparse.py argparse模块还会自动生成帮助和使用信息&#xff0c;即在最后加-h或--help。当用户…

argparse教程

argparse教程 argparse是用来干什么的&#xff1f;位置参数和可选参数测试argparse的功能test1test2test3test4test5-可选参数test6-action选项test7-短选项test8-同时使用位置参数和可选参数test9test10-限定参数的取值范围test11-action"count"test12-None无法和in…

argparse 模块详解

文章目录 1. argparse 模块简介2. 未使用argparse示例3. 使用argparse示例3.1 argparse简单示例3.2 argparse进阶示例3.2.1 可选参数设置3.2.2 可选参数引用名3.2.3 清除帮助中的参数名信息3.2.4 必选参数设置3.2.5 列表参数&#xff08;多参数&#xff09;传入设置3.2.6 互斥参…

python中的argparse基本用法

1、argparse是一个python模块&#xff0c;用途是&#xff1a;命令行选项、参数和子命令的解释。 2、使用步骤&#xff1a; 导入argparse模块&#xff0c;并创建解释器添加所需参数解析参数 3、用法示例&#xff1a; import argparse# 1.创建解释器 parser argparse.Argume…

argparse简介

一、argparse简介 argparse 模块是 Python 内置的用于命令项选项与参数解析的模块&#xff0c;argparse 模块可以让人轻松编写用户友好的命令行接口&#xff0c;能够帮助程序员为模型定义参数。 argparse定义四个步骤 导入argparse包 ——import argparse创建一个命令行解析…

绕过tp路由器管理密码_TP LINK路由器的登陆网址是什么?

旧版本的TP-Link路由器的登陆网址是&#xff1a;192.168.1.1&#xff1b;新版本的TP-Link路由器的登陆网址是&#xff1a;http://tplogin.cn&#xff1b;TP-Link迷你路由器的登陆网址是&#xff1a;192.168.1.253。接下来详细介绍&#xff1a; 一、旧版本的TP-Link路由器的登陆…

【TP5.1】Config的用法

需要读取某个一级配置的所有配置参数&#xff0c;可以使用 需要引入 use Config; 使用助手函数&#xff1a; config(app.name) config(app.); 这种类型的使用app. 这种类型的使用.code即可

TP LINK GRE L2TP介绍

(Virtual Private Network, 虚拟专用网络)是一个建立在公用网&#xff08;通常是因特网&#xff09;上的专用网络&#xff0c;但因为这个专用网络只是逻辑存在并没有实际物理线路&#xff0c;故称为虚拟专用网。 随着因特网的发展壮大&#xff0c;越来越多的数据需要在因特网上…

百信计算机管理员登录账号密码,tplogin.cn管理员密码是多少 | 192路由网

TP-Link TL-WR745N无线路由器配置简单&#xff0c;不过对于没有网络基础的用户来说&#xff0c;完成路由器的安装和无线网络密码和名称的设置&#xff0c;仍然有一定的困难&#xff0c;本文www.192luyou.com介绍TP-Link TL-WR745N无线路由器无线网络密码和名称的设置方法! TP-L…

Tplmap用法

Tplmap下载&#xff1a;安装包可查看我的下载资源页面 Python环境&#xff1a;2.7 (这一点很重要很重要很重要) Python所需要的包&#xff1a; PyYAML5.1.2 certifi2018.10.15 chardet3.0.4 idna2.8 requests2.22.0 urllib31.24.1 wsgiref0.1.2 &#xff08;这些包只有在pyth…