win下使用MinGW-w64+cmake搭建c++开发环境

本文详细介绍了在Windows环境下如何配置MinGW和MSVC编译器,包括MinGW-w64的下载、安装、配置,以及cmake的安装和使用。通过实例展示了C++项目的编译流程,从创建CMakeLists.txt文件到使用make进行编译,生成并运行可执行文件。此外,还提到了解决下载问题的替代方案和系统环境变量的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于MinGW与MSVC

MSVC:

即Microsoft Visual C++ Compiler,即微软自己的编译器
我们下载Windows下的OpenCV时,会带两个文件夹VC14,VC15(分别与Visual Studio的版本有对应关系),这两个文件夹下的库可以直接运行不需要编译
将VS作为Qt的开发环境也是使用这个编译器的缘故

MinGW:

我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写
它是将GNU开发工具移植到Win32平台下的产物,即一套Windows上的GNU工具集
用其开发的程序不需要额外的第三方DLL支持就可以在Windows下运行,相对地,不使用动态库导致的就是编译出来的程序大很多。也是可以设置使用静态库的

make、cmake、gccg++是啥?
简单点说gcc是C的编译器,g++是C++的编译器;makecmake其实只是个辅助工具,单只有有个*.cpp源码文件时,可直接使用g++进行编译,当工程源码文件多了,一个个编译是非常麻烦的,于是就有了make工具,进行批量编译,make本质还是调用g++。make凭什么进行编译呢,依靠makefile文件(makefile文件记录了cpp直接的编译链接关系);但是makefile文件的只做本身也是一个工程,而且随着编译机环境的不同而不同,于是又出现了cmake工具用于实时制作makefile文件;但是cmake又凭什么制作makefile了呢?凭CMakeLists.txt

所以整个c++编译过程:
*.cpp->cmakelist.txt->cmake->makefile->make->可执行文件

https://cmake.org/download/

MinGW-w64的安装及配置教程

下载地址 https://sourceforge.net/projects/mingw-w64/

https://www.mingw-w64.org/downloads/

在这里插入图片描述

下载完成后,开始安装mingw-w64

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

尼玛,这个总是下载出错
在这里插入图片描述
放弃这个总安装方式,直接下载已编译好的包

https://sourceforge.net/projects/mingw-w64/files/
在这里插入图片描述
下载完成后,解压到指定C:目录下
在这里插入图片描述

最后设置系统变量

右键“此电脑”–>属性–>高级系统设置–>环境变量–>设置系统变量

编辑path
添加C?_64-8.1.0-release-win32-seh-rt_v6-rev0mingw64in

测试win+R ->cmd

gcc -v

在这里插入图片描述

注意:安装的mingw64/bin目录下,默认是没make.exe只有mingw32-make.exe,我们可以把它复制在该目录下,并改成make.exe

cmake的安装

cmake下载解压到指定目录后,与MinGW-w64的安装方式类似,需要添加bin目录到系统变量的path

https://cmake.org/download/
下载后如下所示:
在这里插入图片描述

C:cmake-3.23.0-rc3-windows-x86_64in添加到系统变量中的path

win+R 运行cmd

cmake -version

在这里插入图片描述

c++demo

首先创建一个如下项目目录结构

 - myDemo
   | - build
   | - src
      | - main.cpp
   | - CMakeLists.txt

其中main.cpp的代码如下

#include <iostream>

int main(){
    std::cout<<"Hello World!"<<std::endl;
    system("pause");
    return 0;    
}

CMakeLists.txt 的内容如下

cmake_minimum_required(VERSION 3.0)
project(Hello)
aux_source_directory(./src DIR_SRCS)
add_executable(${PROJECT_NAME} ${DIR_SRCS})

进入build目录

cd build # 目的是cmake构建出来的临时文件放这个文件夹
cmake -G "Unix Makefiles" ..

注意在build目录下直接cmake ..默认会创建Visual Studio 且的使用MSVS编译器
在这里插入图片描述
在这里插入图片描述

执行cmake -G "Unix Makefiles" .. 后的结果如下
在这里插入图片描述
在这里插入图片描述
出现了我们期待的Makefile文件

Cmake命令行使用:
-G 指明生成的Makefile格式
-D 添加参数
-S 指明源码位置
-B 指明输出路径
例如:
cmake -G “MinGW Makefiles” -S “源码路径” -B “输出路径”
或者
cmake -G “MinGW Makefiles” -D CMAKE_TOOLCHAIN_FILE=“编译工具链路径” -S “源码路径” -B “输出路径”
注意:Cmake是不支持中文的,无论是GUI还是命令行,都严禁出现中文字符.

最后build目下开始使用make进行编译

make

在这里插入图片描述
运行Hello.exe后如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值