Windows 上的 UCRT 的编译问题似乎解决了

做为一个可耻的伸手党,求一份编译好的emacs 31

Sir, this way.

装不来libmps
libmps不支持msys2,kiennq做了个补丁,我上了补丁也没装好

1 个赞

igc+mps装好了,累死,c编译太慢了,改一下试好久

2 个赞

求分享,zsbd

Thank you, god bless you!!

没看懂,请教怎么在path里面添加这个?

scoop install emacs-kl失败了–提了issue之后解决了

安装这里打包版本到scoop目录是不是效果一样?

[[Releases · kiennq/emacs-build · GitHub][Releases · kiennq/emacs-build]]

在系统环境变量的path里把有gcc.exe那层级加进去。

如果你用kiennq的不用添加,他给你打包好了。

https://github.com/kiennq/emacs-build/releases/download/v31.331.20250202.5e12843/emacs-5e12843-ucrt-x86_64-mps.msix 直接下,scoop没更新。

感谢。 但kiennq打包的版本执行(native-comp-available-p) 返回的还是nil。而https://www.emacswiki.org/emacs/GccEmacs提到这个版本是 GccEmacs refers to the –with-native-compilation configuration option when building Emacs,所以实际上它并没有native compile?

查看emacs-5e12843-ucrt-x86_64-mps\lib\emacs\31.0.50\native-lisp能看到*.eln文件

看来是我想当然了,看他打包了gcc几个exe就以为全了。 你还是需要做这一步

解压到一个文件夹,把bin添加到path里(具体看编辑系统边境变量)

官方是少分发了gcc全部和libgccjit的dll,kiennq应该是少分发了ar,反正放一个完整的gcc一把梭吧。已经编译好的eln还是可以读取的,不加gcc不能编译插件到eln。 题外话,如果你用 msvcrt的最新版,winlibs里也要下msvcrt的版本

1 个赞

给kiennq提了issue之后他很快修复了链接,我就用scoop install emacs-kl安装成功了。 启动之后就出现*Async-native-compile-log* 这个界面,跑完之后再试(native-comp-available-p) 就显示t了。看来他这个版本直接支持原生编译了。可能是因为我的Cygwin装过gcc?

> gcc --version                                                                                                                    18:35:16
gcc (GCC) 12.4.0