Tôi đang cố gắng cài đặt gói Haskell SDL-0.6.2 trên Windows 7 với ghc 6.12.1 (Nền tảng Haskell). Tôi kết thúc nhận được đầu ra sau đây từ cabal:Haskell: Không thể cài đặt SDL-0.6.2 trên windows
C:\Users\Martin\dev\Rasenschach_0>cabal install SDL
Resolving dependencies...
[1 of 1] Compiling Main (C:\Users\FAMILI~1\AppData\Local\Temp\SDL-0
.6.25076\SDL-0.6.2\Setup.lhs, C:\Users\FAMILI~1\AppData\Local\Temp\SDL-0.6.25076
\SDL-0.6.2\dist\setup\Main.o)
C:\Users\FAMILI~1\AppData\Local\Temp\SDL-0.6.25076\SDL-0.6.2\Setup.lhs:2:2:
Warning: In the use of `defaultUserHooks'
(imported from Distribution.Simple):
Deprecated: "Use simpleUserHooks or autoconfUserHooks, unless you n
eed Cabal-1.2
compatibility in which case you must stick with defaultUserHooks"
Linking C:\Users\FAMILI~1\AppData\Local\Temp\SDL-0.6.25076\SDL-0.6.2\dist\setup\
setup.exe ...
Warning: defaultUserHooks in Setup script is deprecated.
Configuring SDL-0.6.2...
configure: WARNING: unrecognized options: --with-hc
checking for sdl-config... /usr/bin/sdl-config
configure: creating ./config.status
config.status: creating config.mk
config.status: creating SDL.buildinfo
config.status: creating includes/HsSDLConfig.h
configure: WARNING: unrecognized options: --with-hc
Preprocessing library SDL-0.6.2...
dist\build\Graphics\UI\SDL\General_hsc_make.o:General_hsc_make.c:(.text+0x0): mu
ltiple definition of `main'
/MinGW/lib/libmingw32.a(main.o):main.c:(.text+0x0): first defined here
/MinGW/lib/libSDLmain.a(SDL_win32_main.o): In function `console_main':
/Users/hercules/trunk/SDL-1.2/./src/main/win32/SDL_win32_main.c:315: undefined r
eference to `SDL_main'
collect2: ld returned 1 exit status
linking dist\build\Graphics\UI\SDL\General_hsc_make.o failed
command was: C:\Program Files\Haskell Platform\2010.1.0.0\mingw\bin\gcc.exe -lSD
L -L/MinGW/lib -lmingw32 -lSDLmain -lSDL -mwindows -LC:\Program Files\Haskell Pl
atform\2010.1.0.0\base-4.2.0.0 -lwsock32 -luser32 -lshell32 -LC:\Program Files\H
askell Platform\2010.1.0.0\integer-gmp-0.2.0.0 -LC:\Program Files\Haskell Platfo
rm\2010.1.0.0\ghc-prim-0.2.0.0 -LC:\Program Files\Haskell Platform\2010.1.0.0 -L
C:\Program Files\Haskell Platform\2010.1.0.0/gcc-lib -lm -lwsock32 -LC:\Program
Files\Haskell Platform\2010.1.0.0 dist\build\Graphics\UI\SDL\General_hsc_make.o
-o dist\build\Graphics\UI\SDL\General_hsc_make.exe
cabal: Error: some packages failed to install:
SDL-0.6.2 failed during the building phase. The exception was:
ExitFailure 1
libSDL dường như được cài đặt đúng trên máy tính của tôi, ít nhất tôi có thể nhận được một chương trình mẫu C chạy sử dụng MinGW và gcc.
Có ai gặp phải vấn đề tương tự không? Tôi tìm thấy một liên kết here nhưng giải pháp được đề xuất (thay đổi nhỏ đối với hsc2hs) dường như không áp dụng cho tôi. Bất kỳ trợ giúp sẽ được đánh giá cao!
EDIT: Vì vậy, tôi cuối cùng đã có nó để chạy, mặc dù tôi không biết chính xác như thế nào ... Hình tôi phải chạy "cabal install" bên trong một bash và fiddle xung quanh với sdl-config (loại bỏ "-lmingw32 -lSDLmain -lSDL.dll -mwindows "từ thẻ" --lib "). Nhưng tôi nghi ngờ rằng tôi có thể sao chép kết quả của tôi khi cố gắng một lần thứ hai ...
Có hướng dẫn trong file Win32 trong phân phối nguồn của gói SDL đó đã giúp tôi biên dịch và chạy nó trên Win7/mingw. –
@fs: Cảm ơn, tôi không thấy điều đó! Tôi sẽ thử! – martingw
@fs: Tôi đã thử (thay đổi dòng thư viện bổ sung trong Cabal-Files), nhưng tôi vẫn gặp lỗi tương tự. – martingw