मैं सी ++ में लिखे जाने वाले क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी पर काम शुरू करने वाला हूं। सड़क के नीचे, मैं पाइथन, जावा इत्यादि जैसी अन्य भाषाओं के लिए बाइंडिंग लागू करना चाहता हूं। लाइब्रेरी को प्रमुख प्लेटफ़ॉर्म पर उपलब्ध होना आवश्यक है: Win32, Linux और Mac OSX।सी ++ क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी और बाइंडिंग के लिए सर्वश्रेष्ठ फ़ोल्डर संरचना
हालांकि एप्लिकेशन वास्तव में एक पुस्तकालय है, कुछ बुनियादी कंसोल कार्यक्रमों को प्रदर्शन और परीक्षण के लिए इसके साथ बंडल किया जाएगा।
मैं सबवर्सन में सामान संग्रहीत करने से पहले एक इष्टतम फ़ोल्डर संरचना के साथ आना चाहता हूं।
मैं की तरह कुछ की सोच रहा हूँ:
/project //Top level folder
/bin //Binaries ready for deployment
/linux_amd64 //Linux AMD64 platform
/debug //Debug build - duplicated in all platforms
/release //Release build - duplicated in all platforms
/linux_i386 //Linux 32-bit platform
/macosx //Mac OS X
/win32 //Windows 32-bit platform
/cygwin //Windows 32-bit platform compiled with Cygwin
/vs.net //Windows 32-bit platform compiled with Visual Studio .NET
/win64 //Windows 64-bit platform
/build //Make and build files, IDE project files
/linux_amd64 //Linux AMD64 platform
/linux_i386 //Linux 32-bit platform
/macosx //Mac OS X
/win32 //Windows 32-bit platform
/win64 //Windows 64-bit platform
/config //Configuration files that accompany the binaries
/data //Data files that accompany the binaries
/doc //Documentation
/lib //External or third-party libraries
/platforms //Platform-specific code for ...
/linux_amd64 //Linux AMD64 platform
/linux_i386 //Linux 32-bit platform
/macosx //Mac OS X
/win32 //Windows 32-bit platform
/win64 //Windows 64-bit platform
/src //Available library source code in subfolders
/src //Source code tree - this will contain main.cpp
/bindings //Bindings to other languages such as ...
/python
/java
/h //Header files
/modules //Platform-independent modules, components or subprojects
/platforms //Platform-specific code for ...
/linux_amd64 //Linux AMD64 platform-specific code
/linux_i386 //Linux 32-bit platform-specific code
/macosx
/win32 //Windows 32-bit platform-specific code
/win64 //Windows 64-bit platform
/test //Automated test scripts
आप सुझाव हैं, तो मैं उन्हें यह जानकर प्रसन्नता होगी। मुझे आश्चर्य है कि कोई उपकरण है जो इस संरचना को बनाने में मदद कर सकता है।
मैं सीएमके और सबवर्जन का उपयोग करने की योजना बना रहा हूं।
मेरे पास आपके लिए एक प्रश्न है: क्योंकि यह एक lib है, main.cpp क्या है और इसका उपयोग किसी और द्वारा कैसे किया जाएगा? मुझे एटीएम सवाल का सामना करना पड़ रहा है, और मुझे लगता है कि main.cpp वास्तव में lib का परीक्षण है। क्या ऐसा नहीं है? –
मेरे पास एक संबंधित उत्तर है: [प्लेटफार्म विशिष्ट कोड लिखने के लिए सर्वश्रेष्ठ (साफतम) तरीका] (https://stackoverflow.com/a/32685299/3258851) –