मुझे यह समझने में कठिनाई हो रही है कि आपको आंतरिक अनुप्रयोगों के विकास के लिए आंतरिक पुस्तकालयों का उपयोग क्यों करना चाहिए। मैं सराहना करता हूं कि अगर मैं सॉफ्टवेयर का उपयोग करना चाहता हूं जो संगठन के बाहर किसी ने लिखा है तो वे मुझे अपनी हेडर फाइलें और .a या .so फाइलें भेज सकते हैं और मैं इसे केवल अपनी परियोजना से जोड़ सकता हूं (यह मानते हुए कि वे उसी वातावरण में संकलित हैं) ।
लेकिन जब मुझे हेडर और कार्यान्वयन फ़ाइलों तक पहुंच होती है तो एक आंतरिक पुस्तकालय को केवल एक आंतरिक अनुप्रयोग से जुड़ा होने के लिए क्यों विकसित किया जाना चाहिए और उन्हें सिर्फ अपने स्रोत के पेड़ में शामिल कर सकते हैं और उन सभी को एक साथ संकलित कर सकते हैं?
दूसरे शब्दों में: यदि कुछ स्रोत कोड लिखे गए हैं, तो आप यह कैसे तय करते हैं कि इसे बाइनरी लाइब्रेरी में संकलित किया जाना चाहिए और आपके आवेदन से जुड़ा होना चाहिए या केवल प्रोजेक्ट के स्रोत फ़ाइलों में शामिल किया जाना चाहिए और नियमित रूप से संकलित किया जाना चाहिए?
जब मैं कहता हूं कि प्रत्येक परियोजना में फाइलें शामिल हैं, तो मेरा मतलब वर्तमान में विकसित की जा रही परियोजना के स्रोत वृक्ष में प्रत्येक फाइल को कॉपी और पेस्ट करना नहीं है। मेरा मतलब है कि कुछ डायरेक्टरी / लाइब्रेरी (किसी भी प्रोजेक्ट के लिए अलग) में कॉमन सोर्स कोड है, जिसे प्रोजेक्ट के फाइल्स में सामान्य तरीके से शामिल किया जा सकता है, यानी #include।
ps मैं कई डेस्कटॉप अनुप्रयोगों के लिए यहाँ c / c ++ विकास के बारे में बात कर रहा हूँ।