2010-07-23 15 views
5

मैं अपना हास्केल प्रोजेक्ट लेने और इसे लाइब्रेरी में विभाजित करने और लाइब्रेरी पर निर्भर निष्पादन योग्य समूह का एक सेट करने की कोशिश कर रहा हूं। जब मैं संकलन करने की कोशिश अब मैं निम्नलिखित त्रुटि मिलती है:हास्केल खराब इंटरफ़ेस फ़ाइल

src/Main.hs:23:0: 
    Bad interface file: /Users/<MyHomeDir>/.cabal/lib/Core-0.0.1/ghc-6.12.1/<MyModule>.hi 
     mismatched interface file ways (wanted "", got "p") 

मुझे विश्वास है कि पी पी GHC के लिए संकुल से संबंधित झंडा हो सकता है। क्या ये सही है? क्या मुझे इसका समर्थन करने के लिए कहीं भी मेरे कैबल फ़ाइल में अधिक कॉन्फ़िगरेशन विकल्प जोड़ने की आवश्यकता है?

उत्तर

2

यह कह रहा है कि इसे एक प्रोफाइलिंग बिल्ड मिला, लेकिन आप प्रोफाइलिंग के बिना Main.hs बना रहे हैं। त्वरित सुधार:

  • के लिए Main.hs
  • निर्माण निर्माण में रूपरेखा को सक्षम और रूपरेखा के साथ <MyModule> स्थापित

किसी भी तरह से सक्षम है, तो है कि एक आदेश है कि जैसा दिखता है

$ runghc Setup.hs configure --enable-library-profiling
3

साथ शुरू हो जाएगा गतिशील लिंकिंग के साथ निष्पादन योग्य संकलन करते समय मुझे एक समान समस्या का सामना करना पड़ा।

मैंने cabal install --ghc-option=-dynamic pkg का आह्वान करके लाइब्रेरी और निष्पादन योग्य संकलित किया।

निष्पादन योग्य गतिशील लिंकिंग के साथ बनाया गया था लेकिन लाइब्रेरी हिस्सा अनुपयोगी था।

मुझे लगता है कि --ghc-option=-dynamic विकल्प का उपयोग करके लाइब्रेरी का स्थिर संस्करण डायनामिक लिंकिंग के साथ भी बनाया गया था।

चूंकि कैबल-1.14 मैं --enable-executable-dynamic विकल्प का उपयोग कर सकता हूं जो सही तरीके से काम करता है।

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