我在尝试 cabal 安装 reactive-banana-sdl 时遇到了以下问题:
c:/program files/haskell platform/7.10.2-a/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lSDL_ttf
collect2: ld returned 1 exit status
linking dist\build\Graphics\UI\SDL\TTF\Version_hsc_make.o failed (exit code 1)
command was: C:\Program Files\Haskell Platform\7.10.2-a\mingw\bin\gcc.exe dist\build\Graphics\UI\SDL\TTF\Version_hsc_make.o dist\build\Graphics\UI\SDL\TTF\Version_hsc_utils.o -o dist\build\Graphics\UI\SDL\TTF\Version_hsc_make.exe -LC:PFSDL_ttf-2.0.11-win32-x64 -lSDL_ttf -LC:\Users\Owner\AppData\Roaming\cabal\x86_64-windows-ghc-7.10.2\SDL-0.6.5.1-26jmephxohM5v84vz7MqXX -LC:/PF/sdl/lib -lSDL -L/mingw64/lib -lmingw32 -lSDLmain -lSDL -mwindows -LC:\Program Files\Haskell Platform\7.10.2-a\lib\base_GDytRqRVSUX7zckgKqJjgw -lwsock32 -luser32 -lshell32 -LC:\Program Files\Haskell Platform\7.10.2-a\lib\integ_2aU3IZNMF9a7mQ0OzsZ0dS -LC:\Program Files\Haskell Platform\7.10.2-a\lib\ghcpr_8TmvWUcS1U1IKHT0levwg3 -LC:\Program Files\Haskell Platform\7.10.2-a\lib/rts -lm -lwsock32 -lgdi32 -lwinmm
C:\Program Files\Haskell Platform\7.10.2-a\bin\hsc2hs.exe returned ExitFailure 1
Failed to install SDL-ttf-0.6.2.1
我该怎么办?
一些细节:我使用的是 Windows 7,并在 MINGW64 中执行此操作。我已经通过 pacman 安装了 sdl-ttf,从https://www.libsdl.org/projects/SDL_ttf/release-1.2.html下载了 SDL_ttf ,并替换了 SDL_platform.h ( https://hg.libsdl.org/SDL /raw-file/e217ed463f25/include/SDL_platform.h)修复另一个错误(“winapifamily.h:在 Code::Blocks 中编译 SDL 时没有这样的文件或目录”)。我确保包含额外的目录。
cabal install -v3 reactive-banana-sdl --extra-include-dirs=C:\PF\SDL_ttf-2.0.11-win32-x64 --extra-lib-dirs=C:\PF\SDL_ttf-2.0.11-win32-x64