最近的这个pr是有问题的
那几个变量不能用同样的处理方式,他们有的是文件名,有的是路径。emacs中的路径结尾是有/的
最近的这个pr是有问题的
那几个变量不能用同样的处理方式,他们有的是文件名,有的是路径。emacs中的路径结尾是有/的
是的,但是路径结尾不加 / 是可以的,所以我用了简单的方法,把 file-name-as-directory 去掉了。然后在 Makefile 中把连接字符串的前面加了个 /
不是,rime.el里面有一些取变量得到的路径,emacs里面的路径本身就带/,结尾的/不是由于 file-name-as-directory 产生的
但是你看他的错误信息里 librime-emacs.so/
这个明显是用 file-name-as-directory 处理过的,总不能取 module-file-suffix
的值取出的个结尾的 / 来吧
不过include的路径有两个/啊
有一个是我在Makefile里加的,另一个就是同样用 file-name-as-directory 加上的,所以连接字符串就出了两个 /
另外编译选项里的 -shared 也没有,说明在判断 LIBRIME_DYLIB 的值是既没匹配到 .so ,也没匹配到 .dylib ,原因就是给 LIBRIME_DYLIB 传过来的值不对,后面加了"/" , 变成了 “.so/” 了。
我的问题。代码看得不仔细,没注意到 file-name-as-directory
, 应该把 module-file-suffix
和另两个路径分别传递。
我好像有点明白了,我来改一下。
当初有个想法就是所有的地方需要路径的话,最后的 / 都是可有可无的,所以才用了 file-name-as-directory 。我觉得几个变量不能用一样的处理方式。这样会要求更严格的路径格式。
支持了 Rime 中的编码提示。
目前还没有条件去尝试在 windows 下面使用。按道理说 msys2 下面是可以的,只是构建 librime 会比较麻烦。
确实好了,感谢大神,实在是不会写 lisp… 等哪天学成了也给大家贡献点…
我在 mac 系统上 emacs-mac,emacs-plus --with-emacs-27-branch,emacs 28 下面都试了下,没有发现问题。
env C_INCLUDE_PATH=~/.emacs.d/librime/dist/include/ gcc lib.c -o librime-emacs.so -fPIC -O2 -Wall -shared -L ~/.emacs.d/librime/dist/lib/ -Wl,-rpath ~/.emacs.d/librime/dist/lib/ -lrime
lib.c:24:10: fatal error: 'rime_api.h' file not found
#include <rime_api.h>
^
1 error generated.
我按照 FAQ 都设定了:
:custom
(rime-librime-root "~/.emacs.d/librime/dist")
(default-input-method "rime")
然而还是报错,该如何是好…(感谢)
p.s. 我用 spacemacs
是 Mac 吗?
抱歉,忘了写,是 Mac
下载 librime 的 release 了吗?
下载了,在某个 commit 之前都运作正常,我今天一更新就出错了… (对了, 我之前有提过 issue ,就是很笨的那个 XDDD)
~/.emacs.d/librime/dist/include/rime_api.h 看错是这个文件没有找到。
如果这个文件有的话请开个issue