如何将 mingw-w64 和 MSYS2 与任何 IDE(如 eclipse 或代码块)一起使用?

How can use mingw-w64 and MSYS2 with any IDE like eclipse or codeblocks?

  1. 我用 here 安装 msys2。

  2. 我下载 i686-5.3.0-release-posix-dwarf-rt_v4-rev0 来自 here.

  3. 设置msys2-i686-20160205.exe后,提取i686-5.3.0-release-posix-dwarf-rt_v4-rev0C:\msys32.

  4. 最后我 运行 MinGW-w64 Win32 Shell 从开始菜单和 运行 这些命令分别:

    • pacman -Sy pacman

    • pacman -Syu

    • pacman -Su

  5. 在PATH中添加C:\msys32\mingw32\bin.

我的问题:

  1. 将 mingw-w64 与任何 IDE 一起使用,是真的吗?
  2. MinGW-w64 Win32 ShellMSYS2 Shell 有什么区别?

提前致谢。

我也有问题 #2:"what difference between MinGW-w64 Win32 Shell and MSYS2 Shell?"。我在 this official wiki page 上找到了答案。原文完整格式请见原文页面。这是页面的相关部分,截至 2017 年 8 月 9 日。

MSYS2 susbsystems

MSYS2 consists of three subsystems and their corresponding package repositories, msys2, mingw32, and mingw64.

The mingw subsystems provide native Windows programs and are the main focus of the project. These programs are built to co-operate well with other Windows programs, independently of the other subsystems.

The msys2 subsystem provides an emulated mostly-POSIX-compliant environment for building software, package management, and shell scripting. These programs live in a virtual single-root filesystem (the root is the MSYS2 installation directory). Some effort is made to have the programs work well with native Windows programs, but it's not seamless.

Each of the subsystems provides its own native (i.e. target=host) compiler toolchain, in msys2-devel, mingw-w64-i686-toolchain, and mingw-w64-x86_64-toolchain. There are also cross compiler toolchains with host={i686,x86_64}-pc-msys and target={i686,x86_64}-w64-mingw32 in mingw-w64-cross-toolchain, but these are of limited use because there are no library packages for them.

Shells

Every subsystem has an associated "shell", which is essentially a set of environment variables that allow the subsystems to co-operate properly. These shells can be invoked using launchers in the MSYS2 installation directory or using the shortcuts in the Windows Start menu. The launchers set the MSYSTEM variable and open a terminal window (mintty) with a proper shell (bash). Bash in turn sources /etc/profile which sets the environment depending on the value of MSYSTEM. Without the correct environment, various things may and will (sometimes silently) break. The exception is using mingw subsystems from pure Windows, which shouldn't require any special environment apart from an entry in PATH. Do not set MSYSTEM outside of the shells, because that will also break things.

前 msys2 & arch linux 用户,目前在大学就读,class 使用代码块作为程序是否有效的标准指标,我想我可以在这里帮助你.

基本要点是您希望正常安装 msys2 以及代码块,然后使用代码块设置将编译器设置为使用 msys2 的 mingw-w64 编译器。困惑了吗?整体还是比较简单的。

  1. 安装代码块。使用已经安装了 mingw 的安装程序,稍后我们将从默认工具链中复制一些东西。
  2. 安装 msys2(默认安装位置很好,C:\msys64 用于 64 位,我认为 C:\msys32 用于 32 位;我们将假设本指南的其余部分为 64 位)。请记下您安装它的位置,我们稍后会用到它。
  3. 打开msys2 msys提示符
  4. 更新 msys2(两部分过程,因为 windows 不能轻易交换正在使用的文件)$ pacman -Syu;它将更新可用包的一小部分,并要求您关闭 window.
  5. 完成msys2更新$ pacman -Syu;这次的名单会大很多。
  6. 安装 base-devel 软件包组 $ pacman -Syu base-devel;它会提示您该组中的包列表。你想跳过 pacman 本身,否则它会有同样的两部分更新。上次我检查这个时,pacman 在列表中排在第 39 位,所以你输入 1-38,40-56 来安装什么(根据 $currentdate 提供给你的任何内容进行调整,它可能并不总是 39)。
  7. 安装 mingw-w64 工具链 pacman -Syu mingw-w64-x86_64-toolchain,它会再次提示您选择软件包,您需要所有软件包,只需按回车键即可。如果你想要 32 位工具链,你可以使用 pacman -Syu mingw-w64-i686-toolchain.
  8. 打开代码块。如果这是您的第一个 运行,它会询问您有关文件关联和首选项等的信息。随意设置。
  9. 在菜单栏中,点击设置->编译器。它应该默认为 GNU GCC Compiler。在那个设置下应该有一个按钮来复制它。为新的编译器配置文件指定一个描述性名称(我使用 MSYS2 mingw-w64-x86_64 G++。它会提示您更新工具链可执行文件。
  10. 在编译器屏幕上,有一个名为Toolchain executables 的选项卡,单击它。将 Compiler's installation directory 设置为您安装 msys2 的任何位置 + 64 位工具链的 mingw64 或 32 位工具链的 mingw32。假设默认安装位置和 64 位工具链,这应该是 C:\msys64\mingw64.
  11. 在此之下,更改 Program Files 下所有选项的名称以删除 mingw32- 前缀,但必须保留 mingw32-make.exeMake program 除外。其他一切都应该有统一的名称(gcc.exeg++.exe 等)。
  12. 可选:将此新编译器设置为默认编译器。您可以从相同的 Settings->Compiler window.
  13. 执行此操作

我已经创建了一个 youtube 视频来展示整个过程,因为我还没有在互联网上的任何地方看到这个记录。