【发布时间】:2011-11-10 05:56:22
【问题描述】:
是否有任何免费的、与 GCC 兼容的 Windows 套件可以生成独立的可执行文件而无需外部依赖?
这里有一些不符合要求的,按不受欢迎程度排序,最少到最多:
现在我倾向于(并使用,尽管是暂时的)MinGW,因为它似乎是“最干净”的方法。我仍然对 MSVCRT.DLL 依赖关系不感兴趣,尤其是因为我可以而且确实必须与运行 Win2K 之前的客户打交道。 (Windows 2000 是第一个附带 MSVCRT.DLL 的版本)不能随应用程序一起分发 MSVCRT。
P.S.:我知道有人试图为 MinGW 创建一个 MSVCRT 替代品,但它仍然不稳定/测试版,并且功能有限;用于生产应用程序时我会觉得不舒服。
P.P.S.:“无论如何,MSCVRT 通常都在那里”或“只需打包 redist”的答案不是建设性的答案。该问题专门询问如何避免依赖关系,而不是确保它们的存在。
【问题讨论】:
-
MSVCRT 应该作为可再发行组件的一部分安装。在将运行时链接为 DLL 而不是静态链接时,即使是 Microsoft 工具也有此限制。
-
@Yann Ramin:与应用程序一起分发 MSVCRT 不是一种选择。
-
@Merlyn Morgan-Graham:很有帮助,但我正在寻找 MinGW 的替代品,而不是静态链接。
-
@nw:据我所知,由于版权原因。
-
@Unsigned:静态链接(如果成功)将解决问题。 MinGW 可能是您拥有的更成熟的选择之一,我不想因为这样简单的事情而放弃它。您的偏好顺序似乎同意这一点:)