मैं C ++ लाइब्रेरी में काम कर रहा हूं। अंत में, मैं इसे कुछ उदाहरणों और पायथन बाइंडिंग के साथ सार्वजनिक रूप से कई प्लेटफार्मों (लिनक्स और विंडोज) के लिए उपलब्ध कराना चाहता हूं । काम अच्छी तरह से प्रगति कर रहा है, लेकिन इस समय परियोजना काफी गड़बड़ है, पूरी तरह से और विजुअल सी ++ के लिए बनाई गई है और बहु-मंच बिल्कुल नहीं है।
इसलिए, मुझे लगता है कि एक सफाई क्रम में है। पहली बात जो मैं सुधार करना चाहता हूं वह है परियोजना की निर्देशिका संरचना। मैं एक ऐसी संरचना बनाना चाहूंगा जो कई प्लेटफॉर्म पर आसान संकलन की अनुमति देने के लिए ऑटोमैटिक टूल के लिए उपयुक्त हो , लेकिन मैंने पहले कभी इनका उपयोग नहीं किया है। चूंकि मैं अभी भी (अधिकांश) विज़ुअल स्टूडियो में कोडिंग कर रहा हूं, मुझे अपने विज़ुअल स्टूडियो प्रोजेक्ट और समाधान फ़ाइलों को रखने के लिए कहीं न कहीं आवश्यकता होगी।
मैंने "C ++ लाइब्रेरी डायरेक्टरी स्ट्रक्चर" जैसे शब्दों के लिए Google में जाने की कोशिश की, लेकिन कुछ भी उपयोगी नहीं है। मुझे कुछ बहुत बुनियादी दिशानिर्देश मिले, लेकिन कोई क्रिस्टल स्पष्ट समाधान नहीं।
कुछ खुले स्रोत पुस्तकालयों को देखते हुए, मैं निम्नलिखित के साथ आया:
\mylib
\mylib <source files, read somewhere to avoid 'src' directory>
\include? or just mix .cpp and .h
\bin <compiled examples, where to put the sources?>
\python <Python bindings stuff>
\lib <compiled library>
\projects <VC++ project files, .sln goes in project root?>
\include?
README
AUTHORS
...
मेरे पास मल्टी-प्लेटफॉर्म डेवलपमेंट / ओपन सोर्स प्रोजेक्ट्स के साथ कोई / थोड़ा सा पिछला अनुभव नहीं है और मैं इस बात से काफी चकित हूं कि मुझे इस तरह के प्रोजेक्ट को तैयार करने के बारे में कोई अच्छा दिशानिर्देश नहीं मिला है।
इस तरह की लाइब्रेरी परियोजना की संरचना आम तौर पर कैसे की जानी चाहिए? क्या सीए को पढ़ने की सलाह दी जाती है? क्या कुछ अच्छे उदाहरण हैं?