msvcrt和ucrt
起因
因为mingw-w64在sourceforge上提供的GCC最高只到8.1.0,所以寻求编译更新的版本。
过程
首先是找到了mmozeiko的build-gcc-mingw,但是存在对UTF-8的兼容问题。(这导致了不能正确识别中文路径)
最后发现niXman的mingw-builds对此打了patch,问题解决。但是看着Action中的Jobs又产生了困惑。(终于进入正题了)
msvcrt/ucrt是啥?(以下为Github Action Workflows示意)
正文
经过查询资料得到:
MSVCRT(Microsoft Visual C++ Runtime):是微软提供的一个 C++ 运行库,可以用于编译 Windows 平台上的 C/C++ 程序。
UCRT(Universal CRT):是微软提供的一个通用 C 运行库,可以用于编译 Windows 平台上的 C/C++ 程序。并支持新的 C11 和 C++11 标准。
它们是Windows系统上的C运行库,UCRT只存在于Win10及更新的系统上,作为对MSVCRT的替代。它对新标准的支持更好,一般建议使用UCRT。
如果环境是Win7则应当使用msvcrt
mingw-w64默认链接MSVCRT
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.