में वस्तु फ़ाइलों के लिए निर्देशिका निर्दिष्ट यहाँ मेरी दो प्रश्न हैं:परियोजना को संगठित करने और Makefile
मैं अब सीवीएस के साथ अपने कोड के प्रबंधन के लिए सीख रहा हूँ, और मैं सिर्फ अपनी सी ++ फ़ाइलों के लिए भंडार बनाना चाहते, मेकफ़ाइल और बैश और पायथन स्क्रिप्ट केवल ऑब्जेक्ट फ़ाइलें और निष्पादन योग्य नहीं हैं। इसलिए मैंने अपनी प्रोजेक्ट निर्देशिका के तहत कई उप-निर्देशिकाएं बनाई: src, bin, स्क्रिप्ट, परिणाम और डेटा। मैंने सी /+ फाइलें और मेकफ़ाइल ~/myproject/src, bash और पायथन स्क्रिप्ट के तहत ~/myproject/स्क्रिप्ट्स और ऑब्जेक्ट और एक्जिक्यूटिवल्स ~/myproject/bin के अंतर्गत रखी हैं। मुझे उम्मीद है कि केवल सीआरएस के माध्यम से स्रोत और स्क्रिप्ट के तहत फाइलें अपडेट की जाएंगी। मुझे आश्चर्य है कि आप कैसे अपनी परियोजनाओं को व्यवस्थित करते हैं? बस कुछ अच्छी आदतों का पालन करने की उम्मीद है
चूंकि मैंने अपनी सी ++ फाइलें और मेकफ़ाइल ~/myproject/src और ऑब्जेक्ट और निष्पादन योग्य फ़ाइलों को ~/myproject/bin में डाल दिया है, तो मुझे मेकफ़ाइल में निर्देशिका निर्दिष्ट करना होगा।
... BIN_DIR=/home/myproject/bin/ all: $(BIN_DIR)myexecutable TAGS TAGS: *.cc *.h etags --members --declarations -l c++ *.cc *.h $(BIN_DIR)myexecutable: $(BIN_DIR)myobject.o $(CXX) $(CXXFLAGS) -o [email protected] $^ $(LDFLAGS) Makefile.depend: *.h *.cc Makefile $(CXX) -M $(CXXFLAGS) *.cc > Makefile.depend clean: \rm -f $(BIN_DIR)myexecutable $(BIN_DIR)*.o Makefile.depend TAGS`
हालांकि इस त्रुटि दे देंगे
मेकअप:: *** कोई नियम बनाने के लिए लक्ष्य
/home/myproject/bin/myobject.o', needed by
/घर/MyProject/bin यहाँ मैं क्या कर रहा हूँ
Makefile है/myexecutable '।
मेकफ़ाइल में सी ++ फ़ाइलों से ऑब्जेक्ट और निष्पादन योग्य फ़ाइलों के लिए एक अलग निर्देशिका निर्दिष्ट करने के लिए कैसे?
धन्यवाद और सम्मान!
चार रिक्त स्थान द्वारा Makefile से अपने अंश को इंडेंट करें। यह उचित स्वरूपण और वाक्यविन्यास हाइलाइटिंग देगा। –
ऐसा लगता है कि कहीं भी एक बग है जो सूची के बाद कोड डालने से रोकती है। मैंने "मेकफ़ाइल:" को एक काम के रूप में जोड़ा है। – AProgrammer