में अलग-अलग परियोजनाओं को जोड़ना ठीक है यह सरल होना चाहिए, लेकिन इसे समझने के लिए प्रतीत नहीं होता है। मेरे पास दो परियोजनाएं हैं, प्रोजेक्ट ए और प्रोजेक्ट बी। प्रोजेक्ट बी पुरानी परियोजना, प्रोजेक्ट ए पर निर्भर करता है। अब मैं प्रोजेक्टबी बनाना चाहता हूं। और मैं अब प्रोजेक्ट ए के लिए निर्देशिका संरचना को बदलना नहीं चाहता हूं। समस्या यह है कि, मैं हमेशा प्रोजेक्ट ए के साथ -उपूटडिर बिन का उपयोग करता हूं।जीएचसी
PROJECTA इस तरह देखा:
ProjectA/
bin/
(*.o, *.hi in proper paths, sometimes also *.p_o and *.p_hi)
Foo/
ModuleX.hs
ModuleA.hs
ModuleB.hs
अब मैं अपनी अलग -outputdir साथ ProjectB के साथ एक अलग फ़ोल्डर है,। मुझे बस पुरानी प्रोजेक्ट ऑब्जेक्ट फ़ाइलों से लिंक करने की आवश्यकता है (प्रोजेक्टए फाइलों को बिना संकलित किए)। मुझे एहसास है कि मैं शायद प्रोजेक्टए को कैबलाइज कर सकता हूं ... लेकिन क्या कोई आसान तरीका नहीं है?
मुझे लगता है कि आप एक निर्माण प्रणाली की जरूरत है। यदि आपको कैबल (या मेकफ़ाइल) पसंद नहीं है तो हिलाएं (http://community.haskell.org/~ndm/shake/) – Jonke
धन्यवाद, मैं शेक की जांच करूंगा, लेकिन मुझे वास्तव में एक प्रतिस्थापन की आवश्यकता नहीं है। असल में, मैं अभी बनाने का बहुत खुश उपयोगकर्ता हूं। समस्या यह है कि जीएचसी में .o और .hi फ़ाइलों की खोज करने का यह अजीब तरीका प्रतीत होता है जो पर्याप्त रूप से अनुकूलन प्रतीत नहीं होता है। दूसरे शब्दों में, अगर मैं -outputdir बिन जोड़ने ... यह बिन में precompiled फ़ाइलों के लिए दिखाई देगा, और मैं PROJECTA/bin – Samee