我在Windows 10上并使用最新版本的MSYS2(已安装gcc:pacman -S gcc
)
我正在尝试从mingw-w64-v7.0.0编译mingw-w64-headers
和mingw-w64-crt
在我的MSYS2安装目录C:\msys2
内,我创建了mingw-w64
文件夹,该文件夹在下面的prefix参数中引用。
要编译这些文件,我使用相同的步骤(在适当的地方替换库的名称):
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匿名'}时的类型不兼容。可以找到更详细的错误图像here。我将对如何进行一些指导表示赞赏。
最佳答案
我建议您只打开MSYS2的MinGW环境之一(通过运行mingw32.exe或mingw64.exe),然后通过运行以下命令安装完整的MinGW-w64工具链:
pacman -S $MINGW_PACKAGE_PREFIX-toolchain
工具链包括GCC,MinGW-w64库和MinGW-w64 header 。如果这些预建的MinGW-w64东西对您来说足够好,那么您就大功告成。如果要编译自己的MinGW-w64,则应该能够使用刚刚安装的环境来执行此操作。要仔细检查您使用的是正确的工具链,请运行
which gcc
并确保其返回/mingw64/bin/gcc
或/mingw32/bin/gcc
。
关于windows - 如何编译mingw-w64-crt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62676291/