0

我正在运行推荐 MinGW 的 CLion。最新的似乎是 MSYS2。一开始CLion没有找到gcc、cmake等。为此,我必须安装 mingw-w64-x86_64-toolchain,它会在我的 msys64(MSYS2 安装文件夹)文件夹中创建一个 mingw64 文件夹。

我尝试编译的软件需要 MSVC 函数或 POSIX 函数,例如sysconf. 但是sysconf是未定义的,至少在mingw-w64-x86_64-toolchain的unistd.h中是这样。在 MSYS2 本身的主要 unistd.h 中它是可用的。

那么,最大的区别是什么?为什么他们不一样?

4

1 回答 1

1

MSYS2 环境提供了两个工具链来针对 Windows 上的两个不同运行时。

  1. /usr 中的 msys2 工具链使程序依赖于 msys-2.0.dll POSIX 仿真层。
  2. 位于 /mingw32 或 /mingw64 中的 MinGW 工具链创建的本机 Windows 程序基本上只能访问 Microsoft 的标头和库提供的功能,而没有太多其他功能。这些程序更容易重新分发给其他用户,并且通常运行得更快。

如果你真的需要 POSIX 的很多特性,你可能无法使用 MinGW 工具链。

于 2017-06-12T21:29:14.030 回答