在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
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐