Lisp 在windows上使用cl-glfw3
我正在尝试加载带有sbcl amd64 for windows的库cl-glfw3。但我得到的只是一条缺少dll的消息。libffi-6.dll和glfw3.dll与lisp程序位于同一文件夹中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-
* (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文件夹。什么都不管用。