यह एक पुरानी पोस्ट है। हालांकि मुझे हाल ही में एक ही समस्या मिली और मुझे @ हेक्को के जवाब के आधार पर एक विकल्प मिला।
मैं बड़े स्पैर मैट्रिक्स सिस्टम को हल करने के लिए पीईटीएससी, लाइब्रेरी का उपयोग करता हूं। उनके निर्माण प्रणाली के लिए आपको अपने मेकफ़ाइल में "शामिल" का उपयोग करने की आवश्यकता होती है जो दो पर्यावरण चर पर निर्भर करता है: PETSC_DIR और PETSC_ARCH जो आपके पर्यावरण में सेट होनी चाहिए .... या आप उन्हें अपने कमांड कमांड के विकल्प के रूप में पास कर सकते हैं !! यह जो मैंने किया है।
मैं NetBeans द्वारा उत्पन्न makefile लिया और अंत में मैं जोड़ा मेरी शामिल हैं:
include ${PETSC_DIR}/conf/variables
सूचना यह कैसे PETSC_DIR की परिभाषा पर निर्भर करता है। इसके अलावा इसमें इस जगह और बड़े पैमाने पर PETSC_ARCH का व्यापक रूप से उपयोग शामिल है।
तो, नेटबीन में अब मैं इसे बदलने के लिए इन चरों को पास करने के लिए कॉन्फ़िगर करता हूं: टूल्स-> विकल्प: "प्रोजेक्ट विकल्प" टैब में मैं "विकल्प बनाएं" के लिए टेक्स्ट बॉक्स भरता हूं: PETSC_DIR =/path// petc PETSC_ARCH = कुछ-आर्क
इसके अलावा, अब आप इन पर्यावरण चर के उपयोग (और दूसरों को आपके प्रोजेक्ट विकल्पों में $ {PETSC_DIR}/conf/variables में परिभाषित करना शुरू कर सकते हैं।उदाहरण के लिए, मेरी फ़ाइलों में शामिल हैं के लिए मैं (सही परियोजना पर क्लिक करें, फिर "गुण") है: के तहत 'सी संकलक "," निर्देशिकाएँ शामिल करें "मैं डाल: $ {PETSC_DIR}/शामिल
और के तहत" लिंकर " , "पुस्तकालय" मैंने रखा: $ {PETSC_LIB} (उपर्युक्त फ़ाइल में परिभाषित)।
अब मैं नेटबीन के भीतर से अपनी परियोजना को बना और चला सकता हूं। यदि मेरा पीईटीएससी संस्करण बदलता है तो मुझे केवल बनाने के लिए पारित चर की परिभाषा को बदलने की आवश्यकता है और बाकी सब कुछ हल हो जाता है।
मुझे उम्मीद है कि यह किसी की मदद कर सकता है। यह निश्चित रूप से मेरे लिए काम किया। और अच्छा हिस्सा यह है कि मैं अन्य लोगों को अपना कोड दे सकता हूं और वे सामान्य रूप से "मेक" के बिना कमांड लाइन से संकलित कर सकते हैं (नेटबीन के बिना) और उपरोक्त पर्यावरण चर को परिभाषित कर सकते हैं। संकलन में अब कोई कठोर कोडित पथ नहीं है।
आप प्रति फ़ाइल संकलन विकल्पों को निर्दिष्ट कर सकते हैं, इसलिए यदि आप फ़ाइल पर राइट क्लिक करते हैं तो आप इसे 'सी' फ़ाइल या 'सी ++' फ़ाइल के रूप में निर्दिष्ट कर सकते हैं ... एक कंपाइलर चुनने के लिए आपको 'टूलकिट' । – Mikhail
@ मिखाइल यह एक कस्टम मेकफ़ाइल है, इसलिए नेटबीन प्रति फ़ाइल कुछ भी नहीं कर सकता है। – Potatoswatter
शायद आप अपना मेकफ़ाइल बदल सकते हैं? इसके अलावा आप मेकफ़ाइल पर एक कस्टम आमंत्रण करते हैं, लेकिन मुझे लगता है कि आपको सही 'टूलसेट' चुनना होगा। – Mikhail