我最近决定在 Windows 7 上使用 MinGW 来看看使用 C++ 的 2D 图形。
由于我只需要 2D 图形,因此任何库或多或少都是可行的(OpenGL、SDL 等)。我决定快速浏览一些并检查他们使用 MinGW 在 Windows 上工作是多么容易。
我很快注意到我测试的每个库(Cairo、SDL 和 GTK+)都需要大量的 dll 文件才能工作。即使从教程之类的东西编译了一个简单的程序后,它也会给我 5 或 6 个不同的 dll 错误,迫使我将它们全部复制到我的程序的工作目录中以使其运行。
我的程序当然可以工作,但是仅仅为了一个简单的程序就拥有这么多的 DLL 是非常麻烦的。使程序在其他人的计算机上运行需要将所有这些 DLL 连同它作为单独的文件一起提供,以及我全局安装但其他人没有的其他 DLL。
由于所需的所有 DLL,像 C++ 这样流行的东西使用起来很烦人,这似乎很奇怪……我做错了什么吗?这个问题有什么神奇的解决方案吗?一些工具可以最大限度地减少甚至完全消除这些并发症?为我的应用程序使用更少的 DLL 会很酷。当然,我不能完全忽略 DLL,但至少将数量减少到一个(一个库 = 一个 DLL)或者有可能将它们组织在自己的子文件夹中会很棒。