liberime 做了比较大的调整,有问题的同学及时反馈

刚重新编译了emacs --with-modules 增加 dynamic module 支持. 按照编译后的文档进行了以下操作:

假设 emacs.exe 所在的目录是 d:/path-to-app/bin/, 那么:
    1. 确保 d:/path-to-app 这个目录名称中不能包含中文
    2. 將 bin 目录下的所有文件复制到目录 d:/path-to-app/bin/
    3. 將 share 目录下的所有文件复制到目录 d:/path-to-app/share/

不过用了你的这个配置后还是提示下面的错误,请问应该是哪里没做对。

(liberime-load)
(liberime-get-module-file)

这个函数返回值是什么?

@tumashu @dcsjx 这个函数返回的是nil值 , (liberime-load) 提示的是 上面第二个图中的信息,看起来是路径不对。是不是还定位到 编译后的librime\data 进行启动输入法?

返回 nil 说明找不到模块,再次检查一下, 运行下面的代码,看看生成的路径有没有文件, 最后实在不行,手动设置变量 liberime-module-file 到你的 liberime-core.dll 文件

(concat (file-name-directory
                        (or (executable-find "emacs")
                            "/usr/bin/emacs"))
                       "liberime-core" module-file-suffix)

用了上面的代码还是一样的错误,但liberime-core.dll 确定已经拷贝到eamcs安装目录下C:\emacs26\bin

设置这个变量 liberime-module-file 到 C:\emacs26\bin\liberime-core.dll

还是一样的错误,我估计是我编译的这个liberime-core.dll 有问题,晚上有时间再研究研究了。 多谢几位耐心解答。

编译的时候,比较一下emacs-module.h是否和emacs 26.3里面的一样。不一样从26.3里copy一个过去试试。

昨天晚上,liberime 已经开启了自动编译 window 二进制包的功能, 有兴趣的同学可以试试,在 release 页面可以找到 v0.0.3 的下载链接,我这 github 打不开了,就不贴链接了。

重新安装了pyrim和liberime,怎么一直出现这个问题: error: Loading file /home/fg/.emacs.d/depend_libs/liberime/build/liberime.so failed to provide feature ‘liberime’

这个liberime是链接到我的liberime-core.so文件。

不要做链接试试

把这个链接去掉,使用liberime-core.so的话,提示:

Warning (initialization): An error occurred while loading ‘/home/fg/.emacs’:

File is missing: Cannot open load file, No such file or directory, liberime

我的配置是按照 在Linux版的Emacs中使用RIME输入法 进行配置的。 配置如下:

;; {{{ config liberime
;; see @ https://manateelazycat.github.io/emacs/2019/09/12/make-rime-works-with-linux.html
(setq load-path (cons (file-truename "~/.emacs.d/depend_libs/liberime/build") load-path))
(require 'pyim)
(require 'posframe)
(require 'liberime)

(setq default-input-method "pyim")
(setq pyim-page-tooltip 'posframe)
(setq pyim-page-length 9)

(liberime-start "/usr/share/rime-data/" (file-truename "~/.emacs.d/pyim/rime/"))
(liberime-select-schema "luna_pinyin_simp")
(setq pyim-default-scheme 'rime-quanpin)
;; }}

原来我一直使用Spacemacs,一直没有问题,今天重新使用裸emacs来重新配置了下。发现没折腾好。

load-path 应该不包含 build,因为你是要加载 liberime.el

(liberime-start "/usr/share/rime-data/" (file-truename "~/.emacs.d/pyim/rime/")

这条一般也不需要

建议看看 liberime 的 readme, 里面有一个设置例子

恩,解决了。thx