के लिए ईडीई प्रोजेक्ट कैसे बनाएं I C++ (emacs24 + buildin CEDET) के लिए एक ईडीई प्रोजेक्ट सेट अप करने का प्रयास कर रहे हैं और मुझे बेताब होना शुरू हो रहा है क्योंकि मुझे ऐसा लगता है कि मैं जिस तरह से चाहता हूं बनाने के लिए मेकफ़ाइल। मैं Emacs के लिए अपेक्षाकृत नया हूँ। मैं मैं क्या कर रहा हूँ का वर्णन करने की कोशिश करेंगे:सी ++
मैं एक खिलौना परियोजना इतनी तरह की स्थापना की है:
main.cpp
other/
Utils.cpp
Utils.h
CGrabBuffer.cpp
CGrabBuffer.h
main.cpp "अन्य /" निर्देशिका के अंदर दोनों ज के भी शामिल है। ये कदम हैं मैं इस सरल निर्देशिका सेटअप के साथ एक EDE परियोजना स्थापित करने का पालन करें: Emacs में
- ओपन main.cpp और
M-x ede-new
करते हैं; टाइप करें:Make
; नाम:main-proj
। - "अन्य" निर्देशिका में फ़ाइलों में से एक खोलें और
M-x ede-new
करें; टाइप करें:Make
; नाम:aux-proj
। - अब यह लक्ष्य (जो मेरा मानना है कि इस मामले में तीन हैं) बनाने के लिए समय आ गया है:
- main.cpp बफर पर:
M-x ede-new-target
; नाम:main
; टाइप करें:program
। संकेत मिलने पर, मैं इस लक्ष्य में main.cpp जोड़ता हूं। - मैं दो अन्य लक्ष्यों के लिए दोहराता हूं (जिनके पास Utils.cpp और Utils.h और CGrabBuffer है जिसमें CGrabBuffer.cpp और CGrabBuffer.h है)। यहां मुझे पहली समस्या मिलती है। इन दो लक्ष्यों को किस प्रकार करना है? मैं केवल उन्हें .o फाइलें उत्पन्न करना चाहता हूं।
- main.cpp बफर पर:
- एक बार ऐसा हो रहा है, मैं सभी तीन लक्ष्यों को
M-x ede-customize-current-target
टाइप करें और मैं जोड़ने के कुछ रास्ते हैं, कुछ पुस्तकालयों, आदि - इस के बाद शामिल है, अगर मैं
M-x ede-compile-project
फोन यह संकलन नहीं करता है:- यह पहले main.cpp संकलित करने का प्रयास करता है; मुझे नहीं पता कि कैसे (EDE का उपयोग करके) निर्दिष्ट करना है कि main.cpp बनाने के प्रयास से पहले Utils.o और CGrabBuffer.o दोनों की आवश्यकता है।
- यदि मैं मैन्युअल रूप से ऑर्डर (मेकफ़ाइल संपादित करना) बदलता हूं, तो यह main.cpp को लिंक करने में सक्षम नहीं है क्योंकि यह Utils.o और CGrabBuffer.o नहीं ढूंढ सकता है।
आप देख सकते हैं, मैं एक महान गंदगी के बीच में हूँ। शायद मैं यह भी समझ नहीं रहा कि ईडीई में "लक्ष्य" का क्या अर्थ है। मैंने ede-cpp-root-project के अस्तित्व के बारे में भी पढ़ा है जिसे .emacs फ़ाइल के अंदर निर्दिष्ट किया जाना है। मैंने कोशिश नहीं की है क्योंकि मुझे लगता है कि यह क्या करता है केवल अर्थशास्त्र के साथ मदद करता है। यह मेकफ़ाइल उत्पन्न नहीं करता है, है ना? क्या मेरे पास प्रोजेक्ट.एल्स के साथ निर्मित ईडीई प्रोजेक्ट (या मुझे आवश्यकता है) और इसी बात को अर्थशास्त्र के लिए ede-cpp-root-project का उपयोग कर सकते हैं? या यह अनावश्यक है?
क्षमा करें अगर मैंने बहुत सी चीजों को गलत समझा लेकिन मैं बहुत उलझन में हूं और emacs के लिए नया होने से चीज़ें और भी खराब हो जाती हैं। आपके धैर्य के लिए धन्यवाद!
संपादित करें: कुछ टिंकरिंग और प्रतिक्रियाओं के साथ मुझे बहुत सारी चीज़ें पता लगाने में सक्षम रहा है, इसलिए बहुत बहुत धन्यवाद। जो मुझे अभी भी समझ में नहीं आता है वह ede-cpp-root-project का उपयोग है जिसे .emacs फ़ाइल के अंदर निर्दिष्ट किया जाना है। क्या यह सिर्फ सी ++ अर्थशास्त्र के लिए है? प्रोजेक्ट.एल्स के साथ प्रोजेक्ट रखने के लिए अनावश्यक है और यह भी .emacs में elisp लाइनें हैं?
मैं CEDET का उपयोग कर रहा हूं लेकिन मेरे जीवन के लिए इसके प्रोजेक्ट समर्थन को नहीं समझ सकता। मैं सिर्फ बाहरी मेकफ़ाइल का उपयोग करता हूं और उस के शीर्ष पर प्रोजेक्ट प्रकार "सरल" जोड़ता हूं। –
हाँ, और यह एकमात्र चीज है जो मुझे अन्य आईडीई जैसे ईक्लीप्स के साथ चिपक जाती है जो आपको इन सभी चीजों को आसान तरीके से प्रबंधित करने देती है ... – pparescasellas
शानदार सवाल। मैंने पिछले कुछ दिनों में इस तरह की चीज को काम करने की कोशिश करने में बिताया है, लेकिन जब मुझे लगता है कि मुझे कहीं मिल रहा है, तो यह सब टूट जाता है। यह कहकर कि ईडीई खराब दस्तावेज है, एक अल्पमत है। – Mike