(मैं लिनक्स Ubuntu 9.10 चला रहा हूँ, इसलिए एक निष्पादन के लिए विस्तार executablefile.out है) मैं सिर्फ मॉड्यूलर प्रोग्रामिंग में हो रही है (एकाधिक फ़ाइलों के साथ प्रोग्रामिंग) सी में साथ संकलित कई सी फ़ाइलें और मुझे पता है कि कैसे करना चाहते हैं एक ही मेकफ़ाइल में एकाधिक फ़ाइलों को संकलित करें। उदाहरण के लिए, इन फ़ाइलों को संकलित करने के लिए मेकफ़ाइल क्या होगा: main.c, dbAdapter.c, dbAdapter.h? (वैसे, अगर आपने इसे अभी तक नहीं समझा है, तो मुख्य कार्य मुख्य में है।) क्या कोई भी मेकफ़ाइल के दस्तावेज़ के लिए एक लिंक पोस्ट कर सकता है?मेकअप
मेकअप
उत्तर
मेरी Makefile Tutorial: How To Write A Makefile देखें। यह एक अच्छी तरह से तैयार की गई मेकफ़ाइल प्रदान करता है जो इस तरह की एक परियोजना (कई सी और सी ++ स्रोत फ़ाइलों के साथ) का निर्माण करेगा, बताता है कि यह कैसे काम करता है, और सामान्य नुकसान के साथ-साथ खराब मेकफ़ाइल प्रथाओं के खिलाफ चेतावनी देता है जो जंगली में सामना करने के लिए बहुत आम हैं ।
GNU make आप जो खोज रहे हैं होना चाहिए।
पोस्ट किए गए लिंक सभी अच्छे हैं। आपके लिए विशेष मामला आप इसे आजमा सकते हैं। अनिवार्य रूप से सभी मेकफ़ाइल इस पैटर्न का पालन करते हैं। बाकी सब कुछ शॉर्टकट्स और मैक्रोज़ है।
program: main.o dbAdapter.o
gcc -o program main.o dbAdapter.o
main.o: main.c dbAdapter.h
gcc -c main.c
dbAdapter.o dbAdapter.c dbAdapter.h
gcc -c dbAdapter.c
यहाँ कुंजी बात यह है कि Makefile क्रमिक रूप से नियमों को देखता है और के रूप में कुछ वस्तुओं की जरूरत है बनाता है।
यह पहला कार्यक्रम को देखो और है कि कार्यक्रम का निर्माण करने के देखेंगे, यह कुछ main.o और dbAdapter.o कहा जाता है की जरूरत है।
फिर यह मुख्य.ओ. हालांकि, main.o बनाने के लिए, इसे main.c और dbAdapter.h की आवश्यकता होगी (मुझे लगता है कि dbAdapter.h मुख्य.c में शामिल है)।
यह जीसीसी का उपयोग कर इसे संकलन के द्वारा main.o निर्माण करने के लिए उन स्रोतों का उपयोग करेगा। -सी इंगित करता है कि हम केवल संकलन करना चाहते हैं।
यह dbAdapter.o साथ एक ही बात करता है। जब यह दो ऑब्जेक्ट फाइलें होती है, तो यह उन्हें जोड़ने के लिए तैयार होती है। यह इस चरण के लिए जीसीसी कंपाइलर का भी उपयोग करता है। -o इंगित करता है कि हम प्रोग्राम नामक एक फाइल बना रहे हैं।
... सिवाय इसके कि आपको संकलक को कड़ी-कोडिंग नहीं करना चाहिए, और आपको पूर्वनिर्धारित निर्माण नियमों का लाभ उठाना चाहिए ... मेरा ट्यूटोरियल देखें। –
बेशक आप सही हैं। लेकिन ओपी मेकफ़ाइल के लिए अपेक्षाकृत नया है और मैं सिर्फ अंतर्निहित प्रक्रिया को बिना किसी संकेत के दिखाना चाहता था। – aduric
"लेकिन ओपी मेकफ़ाइल के लिए अपेक्षाकृत नया है" - जिसे आपको अपने पहले उदाहरण में सामान्य त्रुटियों को डालने के बजाय उसे सही रास्ते से शुरू करना चाहिए। – mk12
- 1. मेकअप परीक्षण मोचा परीक्षण
- 2. मेकअप वर्ग serializable
- 3. मेकअप: *** [] त्रुटि 1 त्रुटि
- 4. मेकअप: मॉड्यूल 'सिस्टम'
- 5. बंटवारे एक मेकअप फ़ाइल
- 6. : = बनाम मेकअप मैक्रो में =
- 7. दबाने मेकअप नियम त्रुटि उत्पादन
- 8. इस clojure मेकअप योजक उदाहरण
- 9. मेकअप div स्क्रॉल जब सामग्री बहुत बड़ा
- 10. मेकअप मैक पैकेज/प्रोग्राम के रूप में
- 11. NPM मेकअप के साथ समय त्रुटि
- 12. सीएसएस मेकअप पाठ बॉक्स सभी उपलब्ध चौड़ाई
- 13. jQuery मेकअप div बार-बार अंदर और बाहर फीका
- 14. पुनः संकलित करें, लेकिन जब मैं मेकअप करना विकल्प makefile
- 15. gnu मेकअप में, एक स्थिर पैटर्न शासन में आवश्यक शर्तें
- 16. क्या std :: locale :: वैश्विक मेकअप printf() फ़ंक्शन को प्रभावित करता है?
- 17. क्या बाइनरी डेटा को "एन्कोड" करने का कोई अच्छा तरीका है व्यावहारिक मेकअप शब्द और फिर से वापस?
- 18. एक्सकोड एआरसी में कनवर्ट करें, सार्वभौमिक बाइनरी बनाएं "आर्किटेक्चर प्रकार का पता नहीं लगा सकता"
- 19. अगर अन्यथा स्टेटमेंट
- 20. जब जाने बनाम Clojure
- 21. मोंगो में कंपाउंड इंडेक्स और सॉर्टिंग
- 22. मैकोज़ एक्स
- 23. पायथन में एक्सेल आरटीडी सर्वर डेटा अपडेट नहीं कर रहा है
- 24. बनाओ: *** लक्ष्य 'सभी' बनाने का कोई नियम नहीं है। बंद करो
- 25. एंड्रॉइड एनडीके: लक्ष्य बनाने के लिए कोई नियम
- 26. एर्लंग संदेश पर किस तरह के प्रकार भेजे जा सकते हैं?
- 27. इंटेलिज
- 28. कोई भी लक्ष्य निर्दिष्ट और कोई makefile पाया
- 29. कार्यक्रम लागू जब एक पार्टी समारोह में एक ही नाम
- 30. "g ++" को आंतरिक या बाहरी कमांड के रूप में पहचाना नहीं गया है, MinGW
मैंने अभी इसे अपडेट किया है और प्रतिक्रिया सुनने में खुशी होगी। –
अभी के लिंक के रूप में मृत। – Pat
@MichaelAaronSafyan चूंकि आप क्रॉस-प्लेटफ़ॉर्म समर्थन का लक्ष्य रख रहे हैं, क्या आपके पास Windows फ़ाइल पर प्रोग्राम फ़ाइल की सफाई करने के लिए कोई सलाह है, यह $ (program_NAME) .exe पर आउटपुट करता है? –