首页 > 解决方案 > 如何编译 mingw-w64-crt

问题描述

我在 Windows 10 上并使用最新版本的 MSYS2(安装了 gcc pacman -S gcc:)

我正在尝试编译mingw-w64-headersmingw-w64-crtmingw-w64-v7.0.0

在我的 MSYS2 安装目录中,C:\msys2我创建了mingw-w64我在下面的前缀参数中引用的文件夹。

要编译其中的每一个,我使用相同的步骤(在适当的地方替换库的名称):

mkdir mingw-w64-crt && cd mingw-w64-crt
../mingw-w64-v7.0.0/mingw-w64-crt/configure --prefix=/mingw-w64
make
make install

mingw-w64-headers但是,这适用于我在该步骤中mingw-w64-crt遇到错误。make具体来说:从类型“int”分配给类型“ mbstate_t ”{aka“ struct anonymous ”}时不兼容的类型。可以在此处找到更详细的错误图像。

我将不胜感激有关如何进行的一些指导。

标签: windowsgcccompiler-errorsmingw-w64msys2

解决方案


我建议您只打开 MSYS2 的 MinGW 环境之一(通过运行 mingw32.exe 或 mingw64.exe),然后通过运行以下命令安装完整的 MinGW-w64 工具链:

pacman -S $MINGW_PACKAGE_PREFIX-toolchain

该工具链包括 GCC、MinGW-w64 库和 MinGW-w64 标头。如果这些预先构建的 MinGW-w64 对您来说足够好,那么您就完成了。

如果你想自己编译MinGW-w64,那么应该可以使用你刚刚安装的环境来做。要仔细检查您是否使用了正确的工具链,请运行which gcc并确保它返回/mingw64/bin/gcc/mingw32/bin/gcc.


推荐阅读