मेरे पास सिर्फ एक प्रश्न है: यदि आप कुछ कोड संकलित कर रहे हैं तो यह परिभाषित करने के लिए एक परिभाषित (या कुछ समान) उपलब्ध है यदि GUI ध्वज सेट किया गया है या नहीं?क्यूटी गुई के लिए एक परिभाषा उपलब्ध है?
मैं बेहतर समझाऊंगा। मेरे पास कुछ कोड है जिसे मैं क्यूटी में विभिन्न कार्यक्रमों के लिए पुन: उपयोग करना चाहता हूं। अब, इस कोड के कुछ हिस्सों का उपयोग केवल जीयूआई अनुप्रयोगों (या बेहतर विजेट अनुप्रयोगों) में किया जाता है और QtGui और QtWidgets पर निर्भर करता है। मैं इन भागों को एक सशर्त ब्लॉक (#if
या #ifdef
) में रखना चाहता हूं ताकि उन्हें केवल उन परियोजनाओं में संकलित किया जा सके जहां जीयूआई और/या विजेट पुस्तकालय शामिल हैं।
और, इससे पहले कि आप इसका सुझाव दें, लाइब्रेरी बनाना समाधान नहीं है। मैं एक परिभाषित करना पसंद करूंगा ...
संपादित करें:
शायद मैंने स्वयं को स्पष्ट रूप से समझाया नहीं है। जो मैं खोज रहा हूं वह जीयूआई समावेशन से जुड़ी परिभाषा है। उदाहरण:
फ़ाइल myfile.h
#ifdef THE_QT_GUI_DEFINE_FLAG
#include <QPainter.h>
#endif
परियोजना एक: qmake फ़ाइल में मैं लिखने:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
परियोजना बी: qmake फ़ाइल में मैं लिखने:
QT -= gui
अब, मैं प्रोजेक्ट ए में शामिल होने के लिए QPainter.h
चाहता हूं। क्या आप जानते हैं कि जब मैं जी जोड़ता हूं तो परिभाषित फ्लैग सेट क्या होता है ui पुस्तकालय? मैंने QT_QTGUI_MODULE_H
के साथ प्रयास किया, लेकिन यह काम नहीं करता है (संभवतः क्योंकि यह क्यूटी लाइब्रेरी संकलित करते समय उपयोग किया जाता है)।
अब यह प्रीप्रोसेसर प्रतीकों को परिभाषित करने के बारे में एक प्रश्नोत्तरी प्रश्न प्रतीत होता है। क्या हमें qmake टैग जोड़ना चाहिए? – drescherjm
एहम ... नहीं, यह QMake को प्रीप्रोसेसर प्रतीक को परिभाषित करने के बारे में बताने का सवाल नहीं है। यह एक "प्रीप्रोसेसर प्रतीक परिभाषित किया गया है, जब क्यूमेक के माध्यम से, मैं गुई सुविधा जोड़ता हूं?" प्रश्न – frarugi87