使用 MinGW 在 Windows 上使用 GNU
创始人
2024-03-02 05:41:38
0

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

如果你是一名使用 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 中运行它:

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 )。它是微软的 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

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

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

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

Set your env

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

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

Hello world

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

#include 
#include 

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 校对:wxy

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

相关内容

豆包输入法macOS版正式...
爱思助手消息,5月12日,继安卓、iOS版本之后,豆包输入法苹果m...
2026-05-15 13:23:42
别只盯着Linux!90%...
当我们聊起“开源OS”,99%的人脑子里跳出Ubuntu、Arch...
2026-05-06 20:23:28
微软开源Litebox库系...
IT之家 2 月 7 日消息,科技媒体 WinAero 昨日(2 ...
2026-02-07 08:48:15
微信Windows和mac...
IT之家 1 月 29 日消息,微信官网 1 月 28 日发布公告...
2026-01-29 10:18:45
C盘日志清理后出问题怎么办...
终于下定决心清理了C盘里那些可疑的日志文件,一口气释放了几十GB空...
2026-01-27 10:50:05
Windows的终局会是L...
近几年,Windows 的更新和体验问题一直让用户头疼。Bug 多...
2026-01-26 20:48:45

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...