TranslateProject/translated/tech/20200817 Use GNU on Windows with MinGW.md
2020-08-21 08:43:57 +08:00

6.2 KiB
Raw Blame History

使用 Mingw 在 Windows 上使用 GNU

在 Windows 上安装 GNU 编译器集合和其他 GNU 组件来启用 GNU Autotools。 Windows

如果你是使用 Windows 的黑客,你不需要专有应用来编译代码。借助 Minimalist GNU for WindowsMinGW 项目,你可以下载并安装 GNU 编译器集合 GCC 以及其他几个基本 GNU 组件,以在 Windows 计算机上启用 GNU Autotools

安装 MinGW

安装 MinGW 的最简单方法是通过 mingw-get它是一个图形用户界面 GUI 应用,可帮助你选择要安装哪些组件,并让它们保持最新。要运行它,请从项目主页下载 mingw-get-setup.exe。像你安装其他 exe 一样,在向导中单击完成安装。

Installing mingw-get

(Seth Kenlon, CC BY-SA 4.0)

在 Windows 上安装 GCC

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

首先,从应用菜单中选择 mingw-get 启动它。

Installing GCC with MinGW

(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它代表最小系统。它是微软的 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

Edit your env

(Seth Kenlon, CC BY-SA 4.0)

这将打开“首选项”窗口。点击窗口底部附近的环境变量按钮。

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

编辑环境变量窗口中,单击右侧的新增按钮。创建一个新条目 C:\MinCW\msys\1.0\bin,然后单击 OK。以相同的方式创建第二条 C:\MinGW\bin,然后单击 OK

Set your env

(Seth Kenlon, CC BY-SA 4.0)

在每个首选项窗口中接受这些更改。你可以重启计算机以确保所有应用都检测到新变量,或者只需重启 PowerShell 窗口。

从现在开始,你可以调用任何 MinGW 命令而不指定完整路径,因为完整路径位于 PowerShell 继承的 Windows 系统的 %PATH% 环境变量中。

Hello world

你已经完成设置,因此对新的 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 的自由。


via: https://opensource.com/article/20/8/gnu-windows-mingw

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出