वर्तमान में QtCreator .o और moc_ फ़ाइलों को एप्लिकेशन के रूट फ़ोल्डर में बनाता है। मैं प्रोजेक्ट फ़ाइल को "obj" नामक सबफ़ोल्डर में रखने के लिए कैसे निर्देश दे सकता हूं?मैं * .o फ़ाइलों और moc_ * फ़ाइलों को अलग फ़ोल्डर में आउटपुट करने के लिए एक क्यूटी निर्माता प्रो फ़ाइल को कैसे निर्देशित कर सकता हूं?
उत्तर
अपने मुख्य (स्रोत) फ़ोल्डर द्विआधारी की साफ रखने के लिए और उत्पन्न फ़ाइलों आप अपने "myapp.pro" फ़ाइल में निम्नलिखित लाइनों रख सकते हैं:
DESTDIR = ../../bin
UI_DIR = .
CONFIG(debug, debug|release) {
TARGET = myappd
OBJECTS_DIR = ../../build/myapp/debug
MOC_DIR = ../../build/myapp/debug
}
CONFIG(release, debug|release) {
TARGET = myapp
OBJECTS_DIR = ../../build/myapp/release
MOC_DIR = ../../build/myapp/release
}
उपरोक्त रूपरेखाओं के संकेत निम्नलिखित निर्देशिका संरचना:
myprojects/source/myapp/ => containing myapp.pro + all other project files hpp, cpp etc.
myprojects/bin/ => containing myapp.exe & myappd.exe application files
myprojects/build/myapp/release => object files + moc files (release)
myprojects/build/myapp/debug => object files + moc files (debug)
अंतिम 3 निर्देशिका स्वचालित रूप से बनाई जाएंगी यदि वे मौजूद नहीं हैं।
इस स्कीमा के फायदे हैं:
ए। आप अपनी प्रोजेक्ट (myapp निर्देशिका) को किसी अन्य मूल निर्देशिका में ले जा सकते हैं और यह बिन & निर्देशिका निर्देशिका
बी के सापेक्ष विनिर्देश के कारण ठीक निर्माण जारी रखेगा। आप myprojects/स्रोत/
सी के तहत अधिक उप-परियोजनाएं जोड़ सकते हैं। आप किसी भी द्विआधारी या जेनरेट की गई फ़ाइलों को बिना किसी बाइनरी या जेनरेट की गई फाइलों के बैकअप (उदा। ज़िप)
आप इसके लिए OBJECTS_DIR
और MOC_DIR
चर का उपयोग कर सकते हैं। जैसे क्यूटी ही इस जबकि इमारत की तरह कुछ करता है:
OBJECTS_DIR = .obj
MOC_DIR = .moc
इस मामले मुझे लगता है कि .obj में, .moc निर्देशिका निर्देशिका Makefile युक्त के सापेक्ष हैं।
किसी भी विचार को qrc_PROJECT.cpp को रूट करने के बजाय ओज फ़ोल्डर में होने के तरीके के रूप में नियंत्रित करने के बारे में कोई विचार कर सकते हैं? –