我下载了 wxWidgets 源代码并按照此处的说明进行操作:
https://docs.wxwidgets.org/3.2.3/plat_msw_install.html
我从这个文件安装了 MinGW:
winlibs-i686-posix-dwarf-gcc-12.2.0-mingw-w64ucrt-10.0.0-r4.zip
它编译得很好,并且也按照说明最小样本进行了编译。
现在我想知道我是否有 32 位或 64 位应用程序的库。我还从 github 下载了所有可用的软件包 wxMSW-3.2.3_gcc1220_xxx.7z,但我创建的文件都不相同。
有什么区别?
最后,最小样本编译为 97MB 的 exe!我发现网页上说的是 4MB。怎么会有这么大的差别呢。最新版本的 wxWidgets 可以实现哪个最小尺寸?我不在乎 1 或 2 MB,但对于一个空窗口来说几乎 100MB 似乎非常多。
感谢您的帮助
您将获得与您使用的编译器相对应的输出。从包含
i686
的文件名来看,您必须使用 32 位编译器。
至于大小,这100MB大部分都是调试符号。您可以使用
strip
命令剥离二进制文件以显着减小其大小(但您将无法轻松调试它)。发布版本中静态链接的最小样本的正常大小确实应该是几 MB(使用共享库时它会小得多,但这不是一个公平的比较)。