使用win版本对Emacs for Windows进行静态链接

使用win版本对Emacs for Windows进行静态链接,emacs,mingw-w64,Emacs,Mingw W64,背景:我正在为我的Windows桌面编译Emacs 25。目前,我正在为此使用win构建(基于mingw-w64) 我在LDFLAGS(要配置)中传入了-static标志,并在出现错误时崩溃 c:/win_builds/msys/1.0/opt/windows_64/bin/../lib64/gcc/x86_64-w64-mingw32/4.8.2/ ../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ldbus-1. 我将其解释为缺

背景:我正在为我的Windows桌面编译Emacs 25。目前,我正在为此使用win构建(基于mingw-w64)

我在LDFLAGS(要配置)中传入了-static标志,并在出现错误时崩溃

c:/win_builds/msys/1.0/opt/windows_64/bin/../lib64/gcc/x86_64-w64-mingw32/4.8.2/
../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -ldbus-1.

我将其解释为缺少可链接的静态库(归档)。我可以使用DLL进行链接,但随后我必须将大量DLL转储到我的emacs目录中。在这个环境中是否有任何静态链接可执行文件的机制?

我不确定win builds出现了什么问题,但我能够使用Msys2成功地构建并静态链接,并且只需1)安装gcc、make等,2)配置我上面提到的LDFLAGS。因此,肯定有办法做到这一点,使用Msys2基础设施,我取得了成功。

Win builds无法实现静态链接,因为除了极少数特定情况外,它只提供共享库

也就是说,我还需要说,我认为静态链接几乎没有什么用处,因为现在大多数应用程序都有额外的文件作为资源,因此需要多个文件,这使得单文件二进制文件的轻松部署成为一个没有实际意义的问题