使用 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中国 荣誉推出

相关内容

等了30年,微软MS-DO...
曾经称“开源是毒瘤”时有多么嫌弃,现在“微软 ❤️ 开源”就有多么...
2025-06-26 09:11:25
UL Solution 游...
IT之家 6 月 13 日消息,UL Solution 今日宣布其...
2025-06-14 06:41:07
从应用层到MCU,看Win...
文本编辑器/文本编辑框是应用层常见的键盘处理程序。微软泄露的Win...
2025-06-01 00:14:54
Windows环境安装及配...
欢迎关注博主 Mindtechnist 或加入【Linux C/C...
2025-05-31 21:41:26
Windows Serve...
需求:ppt上传后转成图片网上搜索了很多方法...
2025-05-31 13:40:01
windows2016安装...
之前写过一篇《安全篇 ━━ windows2008自建证书、IIS...
2025-05-31 11:17:28

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...