将Common Lisp Sketch安装到Windows 10中的问题

问题描述 投票:1回答:2

在使用quicklisp安装草图时,我无法解决丢失SDL DLL和FFI.H文件的错误。针对此Windows 10特定问题发布我的解决方案,也许还有其他解决方案。

我最终在我的mingw64环境中使用了Chocolatey和Cmder。

sdl-2 sbcl msys2 quicklisp libffi
2个回答
3
投票

这是我必须要做的,以便通过几个错误来丢失SDL DLL和FFI.H标头。

1. Install Cmder using Chocolatey: https://chocolatey.org/packages/Cmder
2. Download and copy all the SDL, SDL_image and SDL_ttf DLL's to SBCL's .exe folder:
    a. https://www.libsdl.org/download-2.0.php
    b. https://www.libsdl.org/projects/SDL_image/
    c. https://www.libsdl.org/projects/SDL_ttf/

enter image description here

4. Download and copy the precompiled libffi folders include and .libs to the mingw64:
    a. Download the precompiled from here:
        i. https://proj.goldencode.com/projects/p2j/wiki/Building_and_Installing_libffi_on_Windows
    b. Copy the include and .libs folder here:

enter image description here


0
投票

在最初的技巧设置之后,MSYS2是一个非常干净的构建环境。我已经切换到这种方法,并避免了复制dll的混乱方法:

  1. 确保并卸载python,make,git以及其他你想在MSYS中拥有的元素。 MSYS与Windows程序一起使用但安装了linux工具链,无法设置SDL2等程序来编译软件。
  2. choco install cmdermini而不是完整的cmder。这将确保与可执行的bash命令没有冲突。常规CMDER为Windows安装git以及与MSYS exectuable冲突的其他内容。
  3. 更新路径包括:

enter image description here

  1. 在conemu设置中为msys2创建任务。这就是我解决它的方式,有很多方法可以做到这一点以及更多方法来解决问题: 设置CHERE_INVOKING = 1&设置MSYSTEM = MINGW64&set MSYS2_PATH_TYPE = inherit&C:\ tools \ msys64 \ usr \ bin \ sh.exe --login -i -new_console:d:“C:\”:C:“C: \工具\ msys64 \ msys2.ico”
  2. MSYS2_PATH_TYPE=inherit是允许MSYS2访问系统PATH中所有可执行文件的关键部分。如果您通过pacman和其他地方(如chocolatey)安装了重复的程序,这可能会导致问题。我卸载了所有bash / gnu / unix windows程序和命令,现在只使用我从MSYS2安装的内容。
  3. 使用带有:x的pacboy快速安装x64软件包
  4. pacboy -S emacs:x工具链:x SDL2:x SDL2_gfx:x SDL2_image:x SDL2_ttf:x libffi:x
  5. 除了ZSH之外,还要考虑所有这些,使用你喜欢的东西。好东西在这里:https://medium.com/@borekb/zsh-via-msys2-on-windows-3964a943b1ce
  6. 阅读本文以供参考:https://zyzyz.github.io/en/2017/10/Integrate-MSYS2-into-Cmder/
© www.soinside.com 2019 - 2024. All rights reserved.