如果不能使用,为什么我可以在 MSYS2 中安装 MingW 包?

Why can I install MingW packages in MSYS2 if I can't use them?

我不明白这背后的意义。我有一个 MSYS2 安装。我使用 pacman -Ss 来搜索包。每个东西都有 mingw32/mingw64/msys/ 包。显然我想要 msys 包,因为这就是我 运行,对吧?

我可以这样安装msys/gcc。那很好用。我现在可以做一个 which gcc 并在 /usr/bin/gcc 中找到它并且我可以使用它。可爱

现在我想安装和使用 clang。 Clang 显然 没有 msys 包。它只有 mingw64/mingw-w64-x86_64-clangmingw32/mingw-w64-i686-clang。这是否意味着我不能使用它们?我安装了前一个包,which clang(及其变体)什么也没找到。我在网上搜索,发现的所有内容都说这是在 MSYS2 上使用 clang 的方法,但显然不是,因为没有任何效果。为什么我们可以安装我们不能使用的包??我在这里错过了什么?!

MSYS2 是一个提供三种不同环境的软件发行版。您 select 通过在启动 MSYS2 terminal/shell 时单击适当的快捷方式来选择要使用的环境。您也可以查看您的 MSYS2 安装的主目录,在那里您可以找到 msys2.exe、mingw32.exe 和 mingw64.exe,它们分别对应不同的环境。

MSYS2 提供的两个 MinGW 环境的重点是 and/or 使用本机 Windows 软件构建。 msys2 环境的重点是从 Linux 世界构建需要良好 POSIX 支持的程序,这些程序将依赖于 msys-2.0.dll.