如果您是运行 Windows 的黑客,则无需专有应用程序来编译代码。 通过 Minimalist GNU for Windows (MinGW) 项目,您可以下载并安装 GNU 编译器集合 (GCC) 以及其他几个必要的 GNU 组件,以在您的 Windows 计算机上启用 GNU Autotools。
安装 MinGW
安装 MinGW 最简单的方法是通过 mingw-get,这是一个图形用户界面 (GUI) 应用程序,可帮助您选择要安装的组件并保持它们是最新的。 要运行它,请从项目主机下载 mingw-get-setup.exe
。 像安装任何其他 EXE 文件一样安装它,单击安装向导完成安装。

(Seth Kenlon, CC BY-SA 4.0)
在 Windows 上安装 GCC
到目前为止,您只安装了一个安装程序——或者更准确地说,是一个专用的包管理器,名为 mingw-get。 启动 mingw-get 以选择要在计算机上安装的 MinGW 项目应用程序。
首先,从您的应用程序菜单中选择 mingw-get 以启动它。

(Seth Kenlon, CC BY-SA 4.0)
要安装 GCC,请单击 GCC 和 G++ 包,以标记 GNU C 和 C++ 编译器以进行安装。 要完成此过程,请从 mingw-get 窗口左上角的安装菜单中选择应用更改。
安装 GCC 后,您可以使用其完整路径从 PowerShell 运行它
PS> C:\MinGW\bin\gcc.exe --version
gcc.exe (MinGW.org GCC Build-x) x.y.z
Copyright (C) 2019 Free Software Foundation, Inc.
在 Windows 上运行 Bash
虽然它自称为“minimalist”,但 MinGW 还提供了一个可选的 Bourne shell 命令行解释器,名为 MSYS(代表 Minimal System)。 它是 Microsoft 的 cmd.exe
和 PowerShell 的替代品,并且默认使用 Bash。 除了是(理所当然地)最流行的 shell 之一之外,Bash 在将开源应用程序移植到 Windows 平台时非常有用,因为许多开源项目都假定一个 POSIX 环境。
您可以从 mingw-get GUI 或 PowerShell 中安装 MSYS
PS> mingw-get install msys
要试用 Bash,请使用其完整路径启动它
PS> C:\MinGW\msys/1.0/bin/bash.exe
bash.exe-$ echo $0
"C:\MinGW\msys/1.0/bin/bash.exe"
在 Windows 上设置路径
您可能不想为要使用的每个命令都键入完整路径。 将包含新的 GNU 可执行文件的目录添加到 Windows 中的路径。 有两个可执行文件的根目录要添加:一个用于 MinGW(包括 GCC 及其相关工具链),另一个用于 MSYS(包括 Bash 和 GNU 以及 BSD 项目中的许多常用工具)。
要在 Windows 中修改您的环境,请单击应用程序菜单并键入 env
。

(Seth Kenlon, CC BY-SA 4.0)
将打开一个“首选项”窗口; 单击窗口底部附近的环境变量按钮。
在环境变量窗口中,双击底部面板中的 Path 选择。
在出现的编辑环境变量窗口中,单击右侧的新建按钮。 创建一个新条目,内容为 C:\MinCW\msys\1.0\bin,然后单击确定。 以相同的方式创建第二个新条目,这次内容为 C:\MinGW\bin,然后单击确定。

(Seth Kenlon, CC BY-SA 4.0)
在每个“首选项”窗口中接受这些更改。 您可以重新启动计算机以确保所有应用程序都检测到新变量,或者只需重新启动 PowerShell 窗口。
从现在开始,您可以调用任何 MinGW 命令而无需指定完整路径,因为完整路径位于 Windows 系统的 %PATH%
环境变量中,PowerShell 会继承该变量。
你好,世界
您现在已全部设置完毕,因此请对新的 MinGW 系统进行一个小测试。 如果您是 Vim 用户,请启动它,然后输入这个必须的“hello world”代码
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
cout << "Hello open source." << endl;
return 0;
}
将文件另存为 hello.cpp
,然后使用 GCC 的 C++ 组件对其进行编译
PS> gcc hello.cpp --output hello
最后,运行它
PS> .\a.exe
Hello open source.
PS>
MinGW 的功能远不止我在此处可以介绍的。 毕竟,MinGW 打开了一个充满开源和自定义代码潜力的世界,因此请充分利用它。 为了更广阔的开源世界,您还可以尝试一下 Linux。 当所有限制都被移除时,您会对可能发生的事情感到惊讶。 但与此同时,请尝试一下 MinGW,享受 GNU 的自由。
1 条评论