Lisp 在windows上使用cl-glfw3

Lisp 在windows上使用cl-glfw3,lisp,common-lisp,glfw,sbcl,cffi,Lisp,Common Lisp,Glfw,Sbcl,Cffi,我正在尝试加载带有sbcl amd64 for windows的库cl-glfw3。但我得到的只是一条缺少dll的消息。libffi-6.dll和glfw3.dll与lisp程序位于同一文件夹中 * (ql:quickload "cl-glfw3") To load "cl-glfw3": Load 1 ASDF system: cl-glfw3 ; Loading "cl-glfw3" ........... debugger invoked on a LOAD-FOREIGN-

我正在尝试加载带有sbcl amd64 for windows的库cl-glfw3。但我得到的只是一条缺少dll的消息。libffi-6.dll和glfw3.dll与lisp程序位于同一文件夹中

* (ql:quickload "cl-glfw3")

To load "cl-glfw3":
  Load 1 ASDF system:
    cl-glfw3
; Loading "cl-glfw3"
...........
debugger invoked on a LOAD-FOREIGN-LIBRARY-ERROR in thread
#<THREAD "main thread" RUNNING {10030E7443}>:
  Unable to load any of the alternatives:
   ("libffi-6.dll" "libffi-5.dll" "libffi.dll")

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [RETRY                        ] Try loading the foreign library again.
  1: [USE-VALUE                    ] Use another library instead.
  2: [TRY-RECOMPILING              ] Recompile init and try loading it again
  3: [RETRY                        ] Retry
                                     loading FASL for #<CL-SOURCE-FILE "cffi-libffi" "libffi" "init">.
  4: [ACCEPT                       ] Continue, treating
                                     loading FASL for #<CL-SOURCE-FILE "cffi-libffi" "libffi" "init">
                                     as having been successful.
  5:                                 Retry ASDF operation.
  6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  7: [ABORT                        ] Give up on "cl-glfw3"
  8:                                 Exit debugger, returning to top level.

(FL-ERROR "Unable to load any of the alternatives:~%   ~S" ("libffi-6.dll" "libffi-5.dll" "libffi.dll"))
*(ql:quickload“cl-glfw3”)
要加载“cl-glfw3”:
加载1 ASDF系统:
cl-glfw3
; 加载“cl-glfw3”
...........
在线程中的LOAD-FOREIGN-LIBRARY-ERROR上调用调试器
#:
无法加载任何备选方案:
(“libffi-6.dll”“libffi-5.dll”“libffi.dll”)
键入“帮助”以获取调试器帮助,或键入(SB-EXT:EXIT)以退出SBCL。
重新启动(可通过数字或可能的缩写名称调用):
0:[重试]再次尝试加载外部库。
1:[USE-VALUE]改用其他库。
2:[尝试重新编译]重新编译init并再次尝试加载它
3:[重试]重试
为#加载FASL。
4:[接受]继续,治疗
装载#
被认为是成功的。
5:重试ASDF操作。
6:[清除配置并重试]重置后重试ASDF操作
配置
7:[中止]放弃“cl-glfw3”
8:退出调试器,返回顶层。
(FL-ERROR“无法加载任何替代项:~%~S”(“libffi-6.dll”“libffi-5.dll”“libffi.dll”))
将文件复制到windows文件夹无效


在linux上它可以正常工作。

这就是
CFFI
搜索外来linraries的方式:“libffi-6.dll和glfw3.dll与lisp程序位于同一个文件夹中”,可能不是它要查找它们的地方。Vsevolod Dyomkin的评论在这方面看起来很有用。如果你想快速破解看看它是否有效,请将DLL粘贴到与lisp.exe文件相同的目录中。然后阅读上面的链接并找到合适的位置:)我试图将DLL复制到windows文件夹、sbcl文件夹和project文件夹。什么都不管用。