2013-09-28 4 views
8

मुझे लगता है कि जैसे एक परियोजना संरचना है से स्वचालित रूप से सी ++ makefile बनाएँ:लिनक्स: दिए गए स्रोत फ़ाइलों

src/main.cpp 
src/Folder/this.cpp 
src/Folder/that.cpp 
src/NewFolder/foo.cp 
// etc. 

इसके अलावा मैं कुछ libs की जरूरत है ताकि मैं लिंक कर सकते हैं, उदाहरण के लिए lboost_system। मैं इन दी गई जानकारी के साथ मेकफ़ाइल कैसे बना सकता हूं? मैं मैन्युअल रूप से मेकफ़ाइल बनाने, सीएमके और इतने पर बनाने के बारे में हर समय पढ़ता हूं लेकिन जटिल होने के कारण यह मेरी राय में है! वहाँ किसी भी उपकरण है जहाँ मैं निम्नलिखित जानकारी निर्दिष्ट कर सकते हैं नहीं है:

Source folder: /home/bla/src/ 
Additional Libs: lboost_system 
Compiler Flags: -std=c++0x (or whatever) 

और एक makefile उत्पन्न होता है ?! क्या यह असल में सख्त है?

+0

व्यावहारिक रूप से सभी एक cmake फ़ाइल के लिए है। और सादे पुराने बनाने के साथ ऐसा करना ज्यादा कठिन नहीं है। – Flexo

+0

भी आप कुछ आईडीई का उपयोग कर सकते हैं, यह आपके लिए यह करेगा – 4pie0

+0

वास्तव में मैं मेकफ़ाइल उत्पन्न करने के लिए नेटबीन का उपयोग कर रहा था। लेकिन सबसे पहले यह सिर्फ एक मेकफ़ाइल उत्पन्न करने के लिए "इंजीनियर से अधिक" है और दूसरा मैं अब बहुत कम प्रोसेसिंग पावर वाला पीसी उपयोग कर रहा हूं। ग्रहण या नेटबीन स्थापित करना भयानक है – Anonymous

उत्तर

5

आप मेकफ़ाइल को सामान्य तरीके से लिख सकते हैं - यह है कि आपको प्रत्येक स्रोत फ़ाइल को एक-एक करके निर्दिष्ट नहीं करना होगा। http://www.puxan.com/Computers/Howto-write-generic-Makefiles पर एक नज़र डालें, मैंने इसे बहुत समय पहले किया था, इसलिए मुझे विवरण याद नहीं है, लेकिन अंत में * .cpp फ़ाइलों को जोड़ने (आमतौर पर) मेकफ़ाइल परिवर्तन की आवश्यकता नहीं होती है।

आप ऑटोमेक (http://www.gnu.org/software/automake/manual/automake.html) पर भी एक नज़र डालेंगे जो कि सेमीकैम से कुछ कदम आगे है। यह लक्ष्यों को मानकीकृत करता है और यदि आप अपने सॉफ़्टवेयर को स्रोत फ़ाइलों के रूप में वितरित करना चाहते हैं तो अपने जीवन को आसान बनाते हैं।

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