1. 基于MSYS2的Mingw-w64 GCC搭建Windows下C++开发环境

在Widndows10系统上,使用gcc工具链(g++)进行C++程序开发?可以的!本文将就如何搭建这样一个环境,展开介绍。

  • Windows下C/C++程序开发的差劲开发体验
    • 首先需要安装≈20 GB的Visual Studio(大型团队项目,还是需要VS的);
    • 然后,很多第三方库,需要自己去GitHub或者相应的官网上下载源码,然后进行编译,而编译过程会遇到各种版本不兼容、缺少依赖、代码错误、需修改makefile文件等问题……至此库尚未编译成功,开发人员早已经被这差劲的体验劝退……
  • MSYS2有三个优点
    • 仿Linux的终端交互环境,可以使用Linux下的终端命令和快捷方式;

    • 自带pacman软件管理包,让您将精力放到C++代码的编写上,而不是复杂的依赖环境的搭建和编译。如:GDAL、OpenCV等第三方C/C++库,无须再去踩各种坑、艰难地编译而是直接一个命令就安装到了本地;

    • 复用自己在Linux下的开发经验。使用g++进行库的链接、源码编译等操作,可更进一步了解C++代码的编译过程。

1.下载MSYS2

  • 点击链接https://www.msys2.org/,进入MSYS2的官网,然后找到如下图下载链接,点击即可进行下载。
    在这里插入图片描述

2.安装MSYS2

  • 如下图,MSYS2的整个安装过程无须特别的设置,一路默认下一步即可。注:本文的2、4、5三个步骤,包括安装MSYS2、更新pacman基本软件仓库、安装Mingw-w64 GCC编译工具链,均可参照MSYS2官网进行。(本文也是参考MSYS2的官网)
    在这里插入图片描述

3.配置pacman镜像源

  • pacman是随MSYS2一起安装的软件包管理工具,后边小编将有专门的文章来介绍pacman的基本使用方法。

  • 安装完成MSYS2后,如果您是按默认路径来安装的,则可以在如下路径找到4个镜像配置文件:C:\msys64\etc\pacman.d,分别是:“mirrorlist.mingw32”、“mirrorlist.mingw64”、“mirrorlist.msys”、“mirrorlist.ucrt64”,如下图使用打开4个镜像源配置文件,然后进行配置,配置前后的结果如下面两幅图所示。这里说的配置,其实就是将配置文件内的两个国内的镜像源“tsinghua(清华)”和“ustc(中科大)”,移动(剪切粘贴)到主镜像(## Primary标识的msys2)的前面
    在这里插入图片描述
    在这里插入图片描述

4.更新panman基本软件仓库

  • 配置完镜像源后,需要更新pacman的基本软件仓库,这分两个步骤:

  • 第一步,执行如下命令,检查更新并下载,过程中,MSYS2可能会因为安装更新而自动关闭,此时,可再次在开始菜单中打开,然后再次执行“pacman -Syu”命令

pacman -Syu

在这里插入图片描述

  • 第二步,确定“pacman -Syu”命令的更新完毕,如下图,则说明更新完毕,然后执行如下命令,以更新因执行上已更新操作,而未更新的剩余程序。
pacman -Su

在这里插入图片描述

5.安装Mingw-w64 GCC编译工具链

  • Mingw-w64是Windows编译C/C++源代码的程序集,为了安装该软件,须执行如下命令,即可安装编译C/C++程序所需的编译工具如:gcc、g++、make等。此步骤安装的软件包较多,因此可能需要一定时间,取决于网络和电脑配置,约需3-5分钟。
pacman -S --needed base-devel mingw-w64-x86_64-toolchain

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

  • 为了方便在终端中编辑文件,这里推荐安装一个vim软件,使用如下命令即可进行安装:
pacman -S vim

在这里插入图片描述

6.使用Mingw-w64 g++编译第一个C++代码

  • 安装完GCC工具链后,即可关闭MSYS2终端软件。此时,如下图,在开始菜单中找到MinGW64终端软件并打开。相信广大读者使用的电脑都是64位的硬件和Windows10系统了,因此,为了编译的程序能够在64位上的Windows10系统下运行,以后都将使用MSYS2下的“MinGW 64”终端进行C/C++第三方库的安装、C/C++代码的编译
    在这里插入图片描述

  • 在MinGW 64终端(Linux命令执行必须在此终端)中,使用cd命令,切换到/opt/目录下,然后使用vim命令,打开一个文件,并编写如下代码(可复制后,然后在vim中,按住Shit键,鼠标右键,选择Paste即可),然后以“:wq test_g++_win.cpp”命令保存文件并退出。(也可以在VS Code中新建一个cpp文件,然后编写如下的代码,最后保存至“C:\msys64\opt”目录下,这与vim命令操作的结果一致)

// Source File:/opt/test_g++_win.cpp

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "Hello g++ for Windows10!" << std::endl;
    return 0;
}

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

  • 编写好上述代码并保存后,同样是在MinGW 64终端(编译必须在此终端)中,使用如下命令编译该C++源代码,即可在源代码的同目录下,生成一个名为“test_g++_win.exe”的程序,如下图所示。
g++ test_g++_win.cpp -o test_g++_win

在这里插入图片描述

  • 如上图所示,在MinGW 64终端中,输入如下命令运行“test_g++_win.exe”可执行程序,回车后即可看到相应的输出(如下图),是符合符合预期的。
./test_g++_win
  • 13
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
mingw-w64-builds 和 llvm-mingw 都是为 Windows 平台提供的开发工具集。 mingw-w64-builds 是一个基于 MinGW(Minimalist GNU for Windows)的项目,旨在为 Windows 提供一个开发环境,使开发者能够使用 GNU 工具链(如 GCC 编译器)来编译 Windows 下的应用程序。mingw-w64-builds 支持 32 位和 64 位的 Windows 平台,并提供了一系列开发工具和库,如 GCC 编译器、GDB 调试器、MSYS2 等。mingw-w64-builds 的目标是提供一个免费、开源、易于使用开发环境,使开发者能够方便地在 Windows 上进行 C/C++ 开发。 llvm-mingw 则是基于 LLVM(Low Level Virtual Machine)的一个 MinGW 工具集。LLVM 是一个 modulable 编译器和工具链的项目,它提供了一组可扩展的工具,适用于多种编程语言。llvm-mingw 则是将 LLVM 和 MinGW 结合起来,为 Windows 平台提供了一套完整的开发工具链。通过使用 llvm-mingw,开发者可以使用 LLVM 提供的优秀代码生成能力,将高级语言代码(如 C、C++编译为高效的机器码。llvm-mingw 提供了基于 LLVM 的编译器 Clang、调试器 lldb、库等工具,为开发者提供了一个现代化、高效的 Windows 开发环境mingw-w64-builds 和 llvm-mingw 都在为 Windows 平台上的开发者提供更好的开发工具支持,使他们能够更方便地进行应用程序的开发和调试。根据个人的需求和喜好,开发者可以选择适合自己的工具集来进行开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值