2009-06-27 21 views
20

हमारे पास भवन के लिए स्कोन का उपयोग करके काफी बड़ी सी/सी ++ परियोजना है। मैं ग्रहण-सीडीटी के माध्यम से इसे बनाने के प्रयास में जाना चाहता हूं। किसी के पास इसका कोई अनुभव है और मुझे बिल्डर के रूप में स्कैन सेट करने के लिए कदम बता सकते हैं। (SConsBuilder प्लगइन का उपयोग नहीं करते, यह फेडोरा -11 से ग्रहण-सीडीटी के साथ काम नहीं करेगा)।एक्लिप्स सीडीटी के साथ स्कैन परियोजनाओं का निर्माण कैसे करें?

उत्तर

11

मैंने पहले Waf in Eclipse CDT आजमाया है, स्कैन वास्तव में समान होंगे। समाधान एक खाली मेकफ़ाइल प्रोजेक्ट बनाना था, फिर विकल्पों में बस "बनाना" को "स्कोन" में बदलें। विंडोज़ पर शायद आपके पथ में scons.bat फ़ाइल की आवश्यकता होगी। यह एक डमी मेकफ़ाइल बनाने से कहीं ज्यादा बेहतर नहीं है जिसमें all:\n\tscons टाइप पैटर्न है, लेकिन कम से कम काम है।

SConsBuilder plugin एक अच्छा विचार नहीं है। इसमें हार्ड कोडित पायथन कोड का एक पूरा समूह है जिसमें यह एक स्कैनस्ट्रक्चर के लिए बाहर निकलता है। इसे उम्र में अद्यतन नहीं किया गया है और अब तक बहुत सारे कोड स्कैन में बहिष्कृत किए गए हैं। मुझे लगता है कि एक बेहतर तरीका यह है कि स्कूल्स स्टूडियो के लिए क्या करता है, या ग्रहण सीडीटी के लिए सीएमके क्या करता है। इसका मतलब है कि आपके निर्माण कॉन्फ़िगरेशन के आधार पर फ्लाई पर एक .cproject फ़ाइल उत्पन्न करना।

मैं एक बिंदु है, जो निर्माण नोड्स सभा स्रोत फ़ाइलों चलता है और एक .project और .cproject फ़ाइल बाहर थूक में एक Eclipse project generator for Waf लिखा था। सीएमके कैसे करता है इसके समान, लेकिन एक वैरिएंट निर्देशिका बनाने का वाफ का डिफ़ॉल्ट व्यवहार का मतलब है कि आपको स्रोत के निर्माण के मुद्दों से निपटने की ज़रूरत नहीं है। इसे तब से extra in waf itself के रूप में जोड़ा गया है। यह वाफ एपीआई का केवल एक हिस्सा उपयोग करता है, इसलिए इसे कुछ छोटी-छोटी मात्रा में काम के साथ स्कैन में परिवर्तित करना संभव होगा। दूसरे शब्दों में, वहां कुछ भी नहीं है। .cproject प्रारूप वास्तव में कहीं भी दस्तावेज नहीं है और वास्तव में जावा संस्करण की तुलना में बदसूरत है।

हालांकि मुझे सीडीटी के साथ बहुत अच्छा नहीं मिला - यह जावा देव उपकरण के पीछे एक लंबा रास्ता है - और मैं अभी भी :make के साथ विम का उपयोग करता हूं, इसलिए यह अंत में थोड़ा सा अकादमिक था।

14

आप एक Makefile कि बस प्रतिनिधियों महत्वपूर्ण लक्ष्य

.PHONY: all clean install 
default: all 
all:  
    scons 
clean: 
    scons -c 
install: 
    scons install 

SCons का उपयोग कर सकते तो यह उपयोग करने के लिए "मानक सी परियोजना करें" बॉक्स से बाहर संभव है।

16

हमारे छात्रों में से एक ने एक्लिप्स सीडीटी के लिए एक नया स्कैन एकीकरण लागू किया जो द्वि-दिशात्मक काम करता है, यानी, यह स्कैन फाइलों को आयात कर सकता है और इसी सेटिंग्स के साथ ग्रहण सीडीटी परियोजनाओं को पॉप्युलेट कर सकता है और यह ग्रहण परियोजना सेटिंग्स से स्कैन फाइलें उत्पन्न कर सकता है। इसके अलावा यह एक इंटरैक्टिव स्कैन मोड प्रदान करता है जो बड़े पैमाने पर बड़ी स्कॉन्स परियोजनाओं की वृद्धिशील इमारत को गति देता है। इसे जल्द ही जनता के लिए जारी किया जाएगा, http://sconsolidator.com

+1

वाह यह अच्छा लग रहा है। अपने छात्रों के लिए Kudos। – supertux

+0

मैंने इसे वोट दिया क्योंकि मैंने स्कॉन्सेलीमीटर का उपयोग किया और यह काम करता है। केवल चेतावनी यह है कि यह बंद स्रोत है। मुझे यह तब तक व्यापक उपयोग नहीं मिल रहा है जब तक कि यह खुलासा न हो जाए। –

+0

मैंने स्कैनसॉलीटर की कोशिश की और, हां, यह हमारी परियोजना पर काम नहीं करता है। यह दावा करता है कि सेटिंग आयात करने में कोई समस्या थी और कंसोल के पास गलत होने के बारे में अधिक जानकारी होगी (और कंसोल डिस्प्ले खाली है)। ओह अच्छा। –

4

बस बिल्डर सेटिंग्स को बदलें, कोई प्लगइन्स आवश्यक नहीं है। बाहरी बिल्डर चुनें और कार्यकर्ता को डीआईआर को सेट करने के बजाय स्कैन सेट करें जहां स्कैनस्ट्रक्चर रखा गया हो।

अब, आप स्कैन बिल्ड कमांड बनाने और कमांड बनाने जैसे इसे निष्पादित करने के लिए लक्ष्य लक्ष्य का उपयोग कर सकते हैं। स्कैन के साथ त्रुटि पार्सर्स डिफ़ॉल्ट रूप से ठीक काम करता है, कोई अतिरिक्त कॉन्फ़िगरेशन आवश्यक नहीं है।

0

किसी मौजूदा प्रोजेक्ट के साथ स्कॉन्सेलीटर का उपयोग करने के बारे में बहुत सावधान रहें !! जब आप अपनी परियोजना में स्कैन प्रकृति जोड़ने के लिए लिंक पर क्लिक करते हैं तो यह आपके प्रोजेक्ट की मूल निर्देशिका में मौजूद किसी मौजूदा स्कैनस्ट्रक्चर/स्कॉन्स्क्रिप्ट फ़ाइलों को अंधाधुंध रूप से ओवरराइट करेगा। (मैं इस परियोजना के लिए एक बग के रूप में रिपोर्ट करने की कोशिश कर रहा हूं, लेकिन अब तक हर मोड़ पर अवरुद्ध किया जा रहा है।)

+0

आपको अपनी समस्या की रिपोर्ट करने में सक्षम होना चाहिए: http: //sconsolidator.com/projects/sconsolidator/issues –

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