我正在用 Mingw-w64 做一些实验,它也可以很好地编译常规 C 代码,链接到 Windows 系统 MSVCRT.DLL C 库。但是,如果我编译 C ++ 代码,那么 mingw 的 g ++ 链接到看起来像 GNU libstdc ++ 库。为什么?这不会发生与常规 C 二进制文件。我看到商业 Windows 软件所有的时间包括微软的“C 猜测 + redist C”包
MinGW / MinGW-w64 构建使用系统标准库,这是 Windows 的一部分。
仅当使用 MSVC 编译源时,才需要 Visual C++ 可再发行组件包和运行时包。
如果您的 MinGW / MinGW-w64 构建没有静态链接,您可能需要运送 libstd DLL 文件,但您可以将它们放在与.exe 和 / 或.dll 文件相同的位置,以及任何其他依赖项.dll 文件。
我真的很喜欢 MinGW / MinGW-w64 构建不需要 Visual C ++ 可再发行的事实,原因有几个:
用户不需要安装另一个 Visual C++ 可再发行组件。
二进制文件是紧凑的,不依赖于其他 Microsoft 库,除了操作系统中的库,这增加了您的软件在不同 Windows 版本上运行良好的机会。
安装(和卸载)说明(或安装程序代码)更容易,因为不需要安装 Visual C ++ 可再发行依赖项。实际上,您甚至可以在没有安装程序的情况下将软件作为便携式应用程序运行。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(32条)