使用 Mingw在Windows 上使用 GNU

导读:在 Windows 上安装 GNU 编译器集合(gcc)和其他 GNU 组件来启用 GNU Autotools。

本文字数:2545,阅读时长大约:3分钟

https://linux.cn/article-12549-1.html

作者:Seth Kenlon

译者:geekpi

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

安装 MinGW

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

Installing mingw-get

在 Windows 上安装 GCC

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

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

Installing GCC with MinGW

要安装 GCC,请单击 GCC 和 G++ 包来标记要安装 GNU C、C++ 编译器。要完成此过程,请从 mingw-get 窗口左上角的安装菜单中选择应用更改。

安装 GCC 后,你可以使用完整路径在PowerShell中运行它:

在 Windows 上运行 Bash

虽然它自称 “minimalist”(最小化),但 MinGW 还提供一个可选的Bourne shell命令行解释器,称为 MSYS(它代表最小系统(Minimal System))。它是微软的  和 PowerShell 的替代方案,它默认是 Bash。除了是(自然而然的)最流行的 shell 之一外,Bash 在将开源应用移植到 Windows 平台时很有用,因为许多开源项目都假定了POSIX环境。

你可以在 mingw-get GUI 或 PowerShell 内安装 MSYS:

要尝试 Bash,请使用完整路径启动它:

在 Windows 上设置路径

你可能不希望为要使用的每个命令输入完整路径。将包含新 GNU 可执行文件的目录添加到 Windows 中的路径中。需要添加两个可执行文件的根目录:一个用于 MinGW(包括 GCC 及其相关工具链),另一个用于 MSYS(包括 Bash、GNU 和BSD项目中的许多常用工具)。

若要在 Windows 中修改环境,请单击应用菜单并输入 。

Edit your env

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

在“环境变量”窗口中,双击底部面板中的“路径”选区。

在“编辑环境变量”窗口中,单击右侧的“新增”按钮。创建一个新条目 ,然后单击 “确定”。以相同的方式创建第二条 ,然后单击 “确定”。

Set your env

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

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

Hello world

你已经完成设置,因此可以对新的 MinGW 系统进行小测试。如果你是Vim用户,请启动它,然后输入下面的 “hello world” 代码:

将文件保存为 ,然后使用 GCC 的 C++ 组件编译文件:

最后,运行它:

MinGW 的内容远不止我在这里所能介绍的。毕竟,MinGW 打开了一个完整的开源世界和定制代码的潜力,因此请充分利用它。对于更广阔的开源世界,你还可以试试 Linux。当所有的限制都被消除后,你会惊讶于可能的事情。但与此同时,请试试 MinGW,并享受 GNU 的自由。

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200825A0EYZ100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券