की व्याख्या कैसे करता है मैंने HERE पढ़ा है, फिर भी मुझे qmake CONFIG
चर के सिंटैक्स को समझ में नहीं आता है। उदाहरण के लिए, अगर मैं अपने .pro file
में निम्नलिखित कॉन्फ़िगरेशन सेटिंग है:qMake: qmake वास्तव में "CONFIG (डीबग, डीबग | रिलीज)" वाक्यविन्यास
Project MESSAGE: debug mode
Project MESSAGE: debug mode
Project MESSAGE: release mode
जानते हुए भी कि:
CONFIG(debug, debug|release) {
message("debug mode")
}else {
message("release mode")
}
तब, जब qmake
चल रहा है, निम्नलिखित क्यूटी-निर्माता में संकलित आउटपुट में प्रदर्शित किया जाएगा मैं एक "डिबग मोड" में अपने प्रोजेक्ट का निर्माण कर रहा हूँ, तो मेरे सवाल कर रहे हैं:
- क्यों "डीबग मोड" संदेश नहीं दिखा रहा है केवल? और यह सिर्फ एक बार क्यों नहीं दिख रहा है?
- फिर, चूंकि मैं "डीबग मोड" में निर्माण कर रहा हूं, संदेश "प्रोजेक्ट संदेश: रिलीज़ मोड" क्यों प्रदर्शित होता है?
- बिल्कुल, वाक्यविन्यास क्या है: CONFIG (डीबग, डीबग | रिलीज) वास्तव में इसका मतलब है? क्या इसका मतलब है कि डीबग मोड में निर्माण करना, फिर एक डीबग मोड में बनाना और आखिरकार रिलीज मोड में बनाना? मुझे पता है कि इन ब्रैकेट्स "{}" का अर्थ scope है, लेकिन इन ब्रैकेट्स "()" के अंदर क्या है, इसकी व्याख्या कैसे करें?
आपके उत्तर के लिए बहुत बहुत धन्यवाद, यह बेहद महत्वपूर्ण और सहायक है। हालांकि, मुझे "कथन मूल्यांकन" के हिस्से को समझ में नहीं आया।आपने उल्लेख किया है कि "CONFIG (डीबग, डीबग | रिलीज) 'सच में मूल्यांकन करता है यदि CONFIG में डीबग इत्यादि शामिल है ...", "इसमें" का क्या अर्थ है? क्या आपका मतलब है 'कॉन्फिग + = डीबग' में परिभाषित किया गया है? यदि हां, तो मेरे पास मेरी '.pro फ़ाइल' में ऐसी कोई परिभाषा नहीं है, फिर यह परिभाषा कहां स्थित है? .. एक और बात, आपने यह भी परिभाषित किया: 'CONFIG + = रिलीज डीबग रिलीज डीबग रिलीज डीबग', इस तरह "डीबग" और "रिलीज" को परिभाषित करने का क्या अर्थ है? – hashDefine
कृपया, मेरे बहुत सारे प्रश्नों को क्षमा करें क्योंकि मुझे नहीं मिल रहा है, बिलकुल भी, कोई भी इंटरनेट स्रोत जो इसे समझाता है, आपके स्पष्टीकरण का उल्लेख नहीं करना बहुत सरल, संक्षिप्त और स्पष्ट है। – hashDefine
@hashDefine Qt निर्माता qmake को कॉल करते समय CONFIG को "रिलीज़" जोड़ सकता है। उदाहरण के लिए, यदि आप "बिल्ड" मेनू में "qmake चलाएं" का चयन करते हैं और आपने अपना निर्माण रिलीज़ मोड पर सेट किया है, तो आप इसे "CONFIG + = रिलीज़" को qmake के तर्क के रूप में पास कर सकते हैं। चूंकि CONFIG में पहले से ही "डीबग" हो सकता है (या तो क्योंकि आपने इसे अपनी प्रोजेक्ट फ़ाइल में स्वयं रखा है, या यह एक mkspec फ़ाइल से आ सकता है), इसे ओवरराइड करने का एक तरीका होना चाहिए। यही कारण है कि "CONFIG में अंतिम दिखाई देता है" नियम मौजूद है। मैंने जो उदाहरण दिया वह बस था; एक उदाहरण। स्वयं को कॉन्फिग करने के लिए "रिलीज" और "डीबग" दोनों जोड़ने में कोई उपयोग नहीं है। –