2011-03-22 8 views
7

मैं अपने लिनक्स सी ++ प्रोजेक्ट के लिए कुछ मानक लेआउट का उपयोग करना चाहता हूं जो कि सेमेक का उपयोग करके बनाया गया है और इसमें कुछ एक्जिक्यूटिव और लाइब्रेरी है जो ये निष्पादन लिंक हो सकती हैं। वर्तमान में मेरे पास प्रोजेक्ट के लिए एक फ़ोल्डर था और प्रत्येक उप प्रोजेक्ट के लिए एक उप फ़ोल्डर था। शीर्ष स्तर पर एक सीएमकेलिस्ट के साथ और प्रत्येक उप स्तर में एक जो ऑप्ट स्तर जोड़ता है।लिनक्स सी ++ प्रोजेक्ट डायरेक्टरी लेआउट - सीएमके

Project- 
      executable1 
      executable2 
      library 

हालांकि मुझे लगता है कि निम्नलिखित

Project - 
    lib //Library output folder 
    bin //Executable output folder 
    src //Al cpp source files 
    include //All header files 
    test //All tests 

की तरह बेहतर सेटअप होगा मैं शीर्ष स्तर में सिर्फ एक CMakeLists होगा। मैं आसानी से इसे cmake में सेट कर सकता हूं। क्या किसी के पास एक अलग लेआउट चुनने के कारण हैं?

उत्तर

7

मैं परियोजना निर्देशिका पर सीधे lib, बिन और परीक्षण उत्पादन नहीं डाल होगा: आप एक डिबग और एक रिलीज निर्माण करना चाहते हैं, आप अटक जाते हैं, क्योंकि आप केवल एक प्लेसहोल्डर है। स्रोत निर्माण से बाहर आपका दोस्त है! , मैं भूल गया, धन्यवाद

Project_build_dbg 
    bin 
    lib 
    test 

Project_build_release 
    bin 
    lib 
    test 
+1

+1। आपके स्रोत डीआईआर को अव्यवस्थित नहीं करता है, आपको अपनी वीसीएस 'अनदेखा फाइलों को संपादित करने की आवश्यकता नहीं है, आपको xxx एमबी ज़िप प्राप्त किए बिना अपने स्रोत डीआईआर को ज़िप करने की अनुमति देता है क्योंकि इसमें ऑब्जेक्ट फाइलें इत्यादि हैं। – stijn

+0

ग्रेट विचार, काम करने की ज़रूरत है अब दो अलग-अलग प्रकार के प्रकार कैसे बनाएं। – Mark

1

जो लेआउट आप उपयोग करने का प्रस्ताव कर रहे हैं वह काफी है कि अधिकांश परियोजनाओं का आयोजन कैसे किया जाता है। और यह एक परियोजना होने का एक बहुत ही व्यवस्थित तरीका है। मेरे पास आमतौर पर docs फ़ोल्डर भी होता है जिसमें परियोजना के बारे में सभी दस्तावेज होते हैं। तो मेरा सामान्य प्रोजेक्ट सेटअप है।

Project - 
    lib //Library output folder 
    bin //Executable output folder 
    src //All cpp source files 
    include //All header files 
    test //All tests 
    docs //All project documentation ------> new addition 
+0

+1 डॉक्स:

Project src include CMakeLists.txt 

ये जब cmake का उपयोग कर उत्पन्न हो जाएगा: मैं की तरह कुछ का प्रयोग करेंगे। इसका मतलब यह भी होगा कि वे मेरे गिट सेटअप के साथ संस्करण नियंत्रण में आते हैं। हालांकि उपरोक्त के रूप में मैं परियोजना स्रोत के बाहर lib/bin/test स्थानांतरित कर दूंगा। स्रोत निर्माण के लिए – Mark

संबंधित मुद्दे