【发布时间】:2011-04-25 23:56:49
【问题描述】:
我有在 Windows 上使用 mingw 编译的 C 程序。它工作正常,但需要MSVCRT.DLL。我想静态链接它(就像我可以在 Visual Studio 中做的那样)。这可能吗?
我尝试将-static 标记为gcc,但没有任何改变。
使用标准 C++ 库的 C++ 程序怎么样?
【问题讨论】:
-
关于你的最后一个问题......如果你在谈论 STL,它只是标题。
-
@Armen:但不是还有 C++ MSVCPT 的 DLL 或类似的东西吗?
-
请注意,MSVCRT.DLL 作为系统组件包含在您通常可能遇到的几乎每个版本的 Windows 中。特别是,您不需要将它与您的应用程序一起分发,因为您的最终用户已经拥有它。一个自然的问题是,为什么需要避免与其动态链接?
-
另外,请记住,您可以使用 Dependency Walker 确认实际使用的 DLL。
-
最新的mingw,使用gcc 4.5,有额外的库依赖,包括libgcc_s_dw2-1.dll和libstdc++-6.dll。我无法删除这些,因此我将它们与我的应用程序一起分发。
标签: c++ c dll mingw static-linking