Merge pull request #19395 from wxy/20200817-Use-GNU-on-Windows-with-MinGW

PRF&PUB:20200817 Use GNU on Windows with MinGW
This commit is contained in:
Xingyu.Wang 2020-08-25 09:01:20 +08:00 committed by GitHub
commit 08ebcfa49d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,42 +1,39 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12549-1.html)
[#]: subject: (Use GNU on Windows with MinGW)
[#]: via: (https://opensource.com/article/20/8/gnu-windows-mingw)
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
使用 Mingw 在 Windows 上使用 GNU
======
在 Windows 上安装 GNU 编译器集合和其他 GNU 组件来启用 GNU Autotools。
![Windows][1]
如果你是使用 Windows 的黑客,你不需要专有应用来编译代码。借助 [Minimalist GNU for Windows][2]MinGW 项目,你可以下载并安装 [GNU 编译器集合][3] GCC 以及其他几个基本 GNU 组件,以在 Windows 计算机上启用 [GNU Autotools][4]。
> 在 Windows 上安装 GNU 编译器集合gcc和其他 GNU 组件来启用 GNU Autotools。
![](https://img.linux.net.cn/data/attachment/album/202008/25/085619rr331p13shpt6htp.jpg)
如果你是一名使用 Windows 的黑客,你不需要专有应用来编译代码。借助 [Minimalist GNU for Windows][2]MinGW项目你可以下载并安装 [GNU 编译器集合GCC][3]以及其它几个基本的 GNU 组件,以在 Windows 计算机上启用 [GNU Autotools][4]。
### 安装 MinGW
安装 MinGW 的最简单方法是通过 mingw-get它是一个图形用户界面 GUI 应用,可帮助你选择要安装哪些组件,并让它们保持最新。要运行它,请从项目主页[下载 `mingw-get-setup.exe`][5]。像你安装其他 exe 一样,在向导中单击完成安装。
安装 MinGW 的最简单方法是通过 mingw-get它是一个图形用户界面 GUI 应用,可帮助你选择要安装哪些组件,并让它们保持最新。要运行它,请从项目主页[下载 mingw-get-setup.exe][5]。像你安装其他 EXE 一样,在向导中单击完成安装。
![Installing mingw-get][6]
(Seth Kenlon, [CC BY-SA 4.0][7])
### 在 Windows 上安装 GCC
目前为止,你只安装了一个程序,或者更准确地说,一个专用的_包管理器_称为 mingw-get。启动 mingw-get 选择要在计算机上安装的 MinGW 项目应用。
目前为止,你只安装了一个程序,或者更准确地说,一个称为 mingw-get 的专用的*包管理器*。启动 mingw-get 选择要在计算机上安装的 MinGW 项目应用。
首先,从应用菜单中选择 **mingw-get** 启动它。
首先,从应用菜单中选择 mingw-get 启动它。
![Installing GCC with MinGW][8]
(Seth Kenlon, [CC BY-SA 4.0][7])
要安装 GCC请单击 GCC 和 G++ 包来标记要安装 GNU C、C++ 编译器。要完成此过程,请从 mingw-get 窗口左上角的**安装**菜单中选择**应用更改**。
安装 GCC 后,你可以使用完整路径在 [PowerShell][9] 中运行它:
```
PS> C:\MinGW\bin\gcc.exe --version
gcc.exe (MinGW.org GCC Build-x) x.y.z
@ -45,20 +42,18 @@ Copyright (C) 2019 Free Software Foundation, Inc.
### 在 Windows 上运行 Bash
虽然它自称 “minimalist”最小化但 MinGW 还提供一个可选的 [Bourne shell][10]命令行解释器,称为 MSYS它代表最小系统。它是微软的 `cmd.exe` 和 PowerShell 的替代方案,它默认是 Bash。除了是正当的)最流行的 shell 之一外Bash 在将开源应用移植到 Windows 平台时很有用,因为许多开源项目都假定了 [POSIX][11] 环境。
虽然它自称 “minimalist”最小化但 MinGW 还提供一个可选的 [Bourne shell][10] 命令行解释器,称为 MSYS它代表<ruby>最小系统<rt>Minimal System</rt></ruby>)。它是微软的 `cmd.exe` 和 PowerShell 的替代方案,它默认是 Bash。除了是自然而然的)最流行的 shell 之一外Bash 在将开源应用移植到 Windows 平台时很有用,因为许多开源项目都假定了 [POSIX][11] 环境。
你可以在 mingw-get GUI 或 PowerShell 内安装 MSYS
```
`PS> mingw-get install msys`
PS> mingw-get install msys
```
要尝试 Bash请使用完整路径启动它
```
PS&gt; C:\MinGW\msys/1.0/bin/bash.exe
PS> C:\MinGW\msys/1.0/bin/bash.exe
bash.exe-$ echo $0
"C:\MinGW\msys/1.0/bin/bash.exe"
```
@ -71,53 +66,46 @@ bash.exe-$ echo $0
![Edit your env][13]
(Seth Kenlon, [CC BY-SA 4.0][7])
这将打开“首选项”窗口。点击窗口底部附近的“环境变量”按钮。
这将打开“首选项”窗口。点击窗口底部附近的**环境变量**按钮
在“环境变量”窗口中,双击底部面板中的“路径”选区
在**环境变量**窗口中,双击底部面板中的**路径**选择。
在**编辑环境变量**窗口中,单击右侧的**新增**按钮。创建一个新条目 **C:\MinCW\msys\1.0\bin**,然后单击 **OK**。以相同的方式创建第二条 **C:\MinGW\bin**,然后单击 **OK**
在“编辑环境变量”窗口中,单击右侧的“新增”按钮。创建一个新条目 `C:\MinCW\msys\1.0\bin`,然后单击 “确定”。以相同的方式创建第二条 `C:\MinGW\bin`,然后单击 “确定”。
![Set your env][14]
(Seth Kenlon, [CC BY-SA 4.0][7])
在每个首选项窗口中接受这些更改。你可以重启计算机以确保所有应用都检测到新变量,或者只需重启 PowerShell 窗口。
从现在开始,你可以调用任何 MinGW 命令而不指定完整路径,因为完整路径位于 PowerShell 继承的 Windows 系统的 `%PATH%` 环境变量中。
### Hello world
你已经完成设置,因此对新的 MinGW 系统进行小测试。如果你是 [Vim][15] 用户,请启动它,然后输入下面的 “hello world” 代码:
你已经完成设置,因此可以对新的 MinGW 系统进行小测试。如果你是 [Vim][15] 用户,请启动它,然后输入下面的 “hello world” 代码:
```
#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
  cout &lt;&lt; "Hello open source." &lt;&lt; endl;
  return 0;
cout << "Hello open source." << endl;
return 0;
}
```
将文件保存为 `hello.cpp`,然后使用 GCC 的 C++ 组件编译文件:
```
`PS> gcc hello.cpp --output hello`
PS> gcc hello.cpp --output hello
```
最后,运行它:
```
PS&gt; .\a.exe
PS> .\a.exe
Hello open source.
PS&gt;
PS>
```
MinGW 的内容远不止我在这里所能介绍的。毕竟MinGW 打开了一个完整的开源世界和定制代码的潜力,因此请充分利用它。对于更广阔的开源世界,你还可以[试试 Linux][16]。当所有的限制都被消除后,你会惊讶于可能的事情。但与此同时,请试试 MinGW并享受 GNU 的自由。
@ -129,7 +117,7 @@ via: https://opensource.com/article/20/8/gnu-windows-mingw
作者:[Seth Kenlon][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出