当我使用 Visual Studio 时,我的可执行文件依赖于 microsoft redistributable package - 部署 MS 运行时 DLL 的包。这对我来说很烦人。如果我使用 MinGW,我的可执行文件会有什么缺点?
我还想尝试与由 MinGW 构建的 lib-avcodec/avformat 链接,我没有自己的思维能力从 src 在 VS 中构建它们。
如果使用 MinGW,您将依赖于 mingw 附带的 DLL。将一个供应商更改为另一个供应商并不是什么大问题。
如果您已经有 MS 项目,请查看静态链接 MS 库的可能性(在项目选项中为某些 VisualStudio 项目提供了有关创建时间的选项)
您可以使用 MinGW 静态链接所有内容。使用-static
链接器标志。
不需要重新分发任何 DLL,但您必须确保在 c++ 中,没有异常通过 DLL 边界传递(因此在这种情况下,请确保每个 C++ 库都是静态链接的)。