Windows XP 的 Mingw GCC 交叉编译

Posted

技术标签:

【中文标题】Windows XP 的 Mingw GCC 交叉编译【英文标题】:Mingw GCC cross compilation for windows XP 【发布时间】:2021-12-21 11:39:47 【问题描述】:

我需要在 Windows 10 上编译一个 DLL,该 DLL 需要在 Windows XP 上可用。

代码使用 Mingw GCC(而不是 MSVC)编译,我不知道要使用哪个版本的 mingw。

mingw GCC 是否仍与 windows XP 兼容(如果是,它在编译期间是否需要特定标志)?

如果没有,是否有信息表明 Windows XP 支持已被删除(我在更新日志中找不到任何信息)?

【问题讨论】:

【参考方案1】:

首先,Microsoft 本身不再支持或更新 Windows XP,如果您仍然使用它,则应将其视为安全风险。

要使用 MinGW 编译旧版本的 Windows,您需要在编译应用程序及其所有依赖项时将 _WIN32_WINNT 定义为旧版本(Windows XP 为 0x0501),包括 MinGW 提供的标准库.

因此,从本质上讲,您需要一个 MinGW 编译器,该编译器本身就是为支持 Windows XP 并构建您的应用程序以及它可能依赖的任何库而构建的。

【讨论】:

以上是关于Windows XP 的 Mingw GCC 交叉编译的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu下交叉编译windows c程序

cygwin 中如何安装arm-linux-gcc交叉编译器

如何为 MinGW 用户安装 gcc-arm-none-eabi?

C: 带有 MinGW 的正则表达式库

如何在windows上编译Chromium 并加入MP3支持

Windows下的异常处理和堆栈跟踪(MinGW/gcc)