2013-04-14 5 views
6

नहीं मिला है अंत में मैंने इसे विंडोज पर Haskell SDL bindings इंस्टॉल करने के लिए बनाया है। इसका उपयोग:हास्केल एसडीएल: mingw32.dll

> $env:Path += ";C:\SDL;C:\SDL\bin;C:\SDL\include;C:\SDL\lib" 
> cabal install SDL --extra-include-dirs="C:\SDL\include" --extra-lib-dirs="C:\SDL\lib" 

यह काम करता है, जब तक कि सिग्विन कॉन्फ़िगर स्क्रिप्ट के लिए स्थापित किया जाता है।

import Graphics.UI.SDL as SDL 
import Control.Monad (void) 
import Control.Exception (bracket_) 

main = bracket_ (SDL.init [InitEverything]) quit $ do 
    screen <- setVideoMode 800 600 0 [] 
    SDL.flip screen 
    void $ waitEvent 

इस कोशिश कर रहा है अब मुझे यह त्रुटि संदेश देता है:: हालांकि, मैं एक छोटे से परीक्षण पटकथा लिखी

*Main> :main 
Loading package SDL-0.6.4 ... <interactive>: mingw32: Cannot find specified module. 
can't load .so/.DLL for: mingw32.dll (addDLL: could not load DLL) 

अब मुझे लगता है कि mingw32.dll लिए देख रहा था लेकिन मैं इसे अपने कंप्यूटर पर नहीं मिल सकता है, हालांकि मेरे पास MinGW32 स्थापित है। क्या किसी को यहां कोई अनुभव है?

SDL-0.6.4, GHC 7.4.2Haskell Platform 2012.4.0.0 से GHC 7.4.2 का उपयोग करना। विंडोज 7 64-बिट।

अतिरिक्त: मैंने अब A Haskell Adventure In Windows की सिफारिश की है, और इसका भी यही परिणाम है।

उत्तर

1

यह 64 बनाम 32 बिट मुद्दा हो सकता है।

  • Windows के 64-बिट संस्करण: नकल है कि करने के लिए प्रयास करें .dll ग कॉपी: \ \ Windows syswow64
  • Windows के
  • 32-बिट संस्करण: ग कॉपी: \ windows \ system32

That helped me with FTGL - see here

+0

लेकिन मेरे सिस्टम पर कहीं भी 'mingw32.dll' नहीं है। गुगलिंग ने कोई परिणाम नहीं लाया। मुझे नहीं लगता कि 'mingw32.dll' बिल्कुल मौजूद है। – Lanbo

+0

@ लैम्ब्डाडस्क, क्या आपके पास mingw, msys या msysgit स्थापित है? यदि हां, तो वे आपके साइगविन के निर्माण सेटअप में हस्तक्षेप कर रहे हैं – sinelaw

+0

@ लैम्ब्डाडस्क वास्तव में मैंने अभी देखा है कि आपके द्वारा उपयोग किए जा रहे निर्देश एसडीएल देव libs के mingw निर्माण पर आधारित हैं। आपको या तो सिग्विन को हटा देना चाहिए और इसके बजाय मिंगव इंस्टॉल करना चाहिए, या मिंगव-आधारित एसडीएल को हटाएं और एक साइगविन एक इंस्टॉल करें, या इसे स्वयं बनाएं (http://www.libsdl.org/extras/win32/cygwin/README.txt) – sinelaw

1

मैं MSYS/MinGW इस्तेमाल किया निर्माण करने के लिए, और मैं ठीक उसी समस्या हो रही थी। चारों ओर झुकाव के बाद मैंने पाया कि ध्वज -lmingw32 (फ़ाइल एसडीएल-कॉन्फ़िगरेशन में) का उपयोग किया जा रहा है, और ऐसा लगता है कि यह mingw32.dll को इंगित करता है। मैं इसे ध्वजांकित करता हूं, और सबकुछ काम करता है।

संबंधित मुद्दे