在 Windows 上使用带有 MinGW 的 GNU

安装 GNU 编译器集合和其他 GNU 组件,以在 Windows 上启用 GNU Autotools。
49 位读者喜欢这篇文章。
Windows

Pixabay 上的 MartinHarry。CC0。

如果您是运行 Windows 的黑客,则无需专有应用程序来编译代码。 通过 Minimalist GNU for Windows (MinGW) 项目,您可以下载并安装 GNU 编译器集合 (GCC) 以及其他几个必要的 GNU 组件,以在您的 Windows 计算机上启用 GNU Autotools

安装 MinGW

安装 MinGW 最简单的方法是通过 mingw-get,这是一个图形用户界面 (GUI) 应用程序,可帮助您选择要安装的组件并保持它们是最新的。 要运行它,请从项目主机下载 mingw-get-setup.exe。 像安装任何其他 EXE 文件一样安装它,单击安装向导完成安装。

在 Windows 上安装 GCC

到目前为止,您只安装了一个安装程序——或者更准确地说,是一个专用的包管理器,名为 mingw-get。 启动 mingw-get 以选择要在计算机上安装的 MinGW 项目应用程序。

首先,从您的应用程序菜单中选择 mingw-get 以启动它。

要安装 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

将打开一个“首选项”窗口; 单击窗口底部附近的环境变量按钮。

环境变量窗口中,双击底部面板中的 Path 选择。

在出现的编辑环境变量窗口中,单击右侧的新建按钮。 创建一个新条目,内容为 C:\MinCW\msys\1.0\bin,然后单击确定。 以相同的方式创建第二个新条目,这次内容为 C:\MinGW\bin,然后单击确定

在每个“首选项”窗口中接受这些更改。 您可以重新启动计算机以确保所有应用程序都检测到新变量,或者只需重新启动 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 的自由。

接下来阅读什么
标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算机行业工作,而且经常同时进行。

1 条评论

我喜欢这篇文章,谢谢。 我主要是 Linux 用户,但必须在工作中使用 Windows。 我非常喜欢您后来的评论之一,并发现这是一种非常贴切的方式来描述 Linux 和开源。 无限制的计算是一种非常好的表达方式。 我觉得它几乎是诗意的。 继续写出色的文章,我每篇都读。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.