Qt क्रिएटर में पथ कैसे शामिल करें?


160

मेरे पास एक परियोजना है जो मैं क्यूटी निर्माता में काम कर रहा हूं जिसे तीसरे पक्ष के पुस्तकालय की आवश्यकता है। मैं हेडर को प्रोजेक्ट के लिए शामिल पथ पर जोड़ना चाहता हूं। मैं यह कैसे करु?

जवाबों:


231

यदि आप qmake का उपयोग कर रहे हैं, तो मानक Qt बिल्ड सिस्टम, बस .proफ़ाइल में एक पंक्ति जोड़ें जैसा कि qmake चर संदर्भ में प्रलेखित है :

INCLUDEPATH += <your path>

यदि आप अपने स्वयं के बिल्ड सिस्टम का उपयोग कर रहे हैं, तो आप "Makefile- आधारित प्रोजेक्ट का आयात" का चयन करके एक प्रोजेक्ट बनाते हैं। यह आपके प्रोजेक्ट डायरेक्टरी में कुछ फाइलों का निर्माण करेगा, जिसमें एक फाइल नाम शामिल है <your project name>.includes। उस फ़ाइल में, उन रास्तों को सूचीबद्ध करें जिन्हें आप शामिल करना चाहते हैं, एक प्रति पंक्ति। यह सब वास्तव में Qt Creator को बताता है कि ऑटो कम्प्लीट करने के लिए फाइलों को इंडेक्स में कहां देखें। अपने खुद के निर्माण प्रणाली को अपने तरीके से शामिल पथों को संभालना होगा।

जैसा कि Qt क्रिएटर मैनुअल में बताया गया है , <your path>एक पूर्ण पथ होना चाहिए, लेकिन आप अपनी .proफ़ाइल में OS-, होस्ट- या उपयोगकर्ता-विशिष्ट प्रविष्टियों से बच सकते हैं, $$PWDजिसका उपयोग करके उस फ़ोल्डर को संदर्भित करता है जिसमें आपकी .proफ़ाइल शामिल है, जैसे।

INCLUDEPATH += $$PWD/code/include

2
ठीक है। यह मेरे लिए ठीक काम करेगा। क्या पथों को शामिल करने के लिए एक वैश्विक सेटिंग है?
नाथन उस्मान

ऐसा नहीं है कि मुझे पता है, लेकिन इसका मतलब यह नहीं है कि वहाँ नहीं है। मुझे उस विकल्प में कुछ भी दिखाई नहीं देता जो दिखता है।
जेसन बी

3
कोई बात नहीं। आपके उत्तर में उल्लेख है INCLUDE_PATHलेकिन आपका मतलब था INCLUDEPATH। मैं आपका जवाब ठीक कर लूंगा :)
नाथन उस्मान

6
इसके QMAKE_CXXFLAGSबजाय चर का उपयोग करना बेहतर है , क्योंकि INCLUDEPATHछोटी गाड़ी है (कम से कम वर्तमान समय में - क्यूटी 5)। यानी जब मैंने शामिल किया था INCLUDEPATH += ../../../, तो क्यू ने इस रास्ते में केवल बेतरतीब ढंग से निर्देशिका को चुना, और संकलक को विकल्प मिला -I../../../GUI
हाय-एंजेल

4
@ हाय-एंजेल: ऐसा लगता है कि INCLUDEPATHनिर्दिष्ट बिल्ड निर्देशिका के सापेक्ष है, न कि उस निर्देशिका के सापेक्ष .proजो आसानी से मान सकती है। जैसा कि उत्तर में मेरे संपादन में दिखाया गया है, आप शामिल पथ को शुरू करने के लिए स्पष्ट रूप से परिभाषित फ़ोल्डर प्राप्त करने के लिए `$ $ PWD’ का उपयोग कर सकते हैं।
ssc

6

वैश्विक रूप से जोड़ने के लिए प्रोजेक्ट्स में qmake के लिए पथ उपयोग कस्टम कमांड को शामिल करें / "अतिरिक्त तर्क" में चरणों का निर्माण / निर्माण करें जैसे कि: "QT+=your_qt_modules" "DEFINES+=your_defines"

मुझे लगता है कि आप इस तरह से * .pro फ़ाइलों से किसी भी कमांड का उपयोग कर सकते हैं।


5

मेरे जैसे Qt क्रिएटर के लिए पूरी तरह से नए किसी के लिए, आप अपने प्रोजेक्ट की .pro फ़ाइल को Qt क्रिएटर से संशोधित कर सकते हैं:

यहां छवि विवरण दर्ज करें

प्रोजेक्ट विंडो में "अपना प्रोजेक्ट नाम" .pro पर बस डबल-क्लिक करें और जैसे मैंने किया है .pro फ़ाइल के निचले भाग में शामिल पथ जोड़ें।


5
निरपेक्ष फ़ाइल पथ का उपयोग करना एक बहुत बुरा विचार है। हमेशा सापेक्ष फ़ाइल पथ प्रणाली का उपयोग करने का प्रयास करें। क्यूटी को क्रॉस प्लेटफॉर्म होने के लिए बनाया गया है। और यदि आप लिनक्स मशीन पर समान कोड संकलित करते हैं, तो संकलक उन फ़ाइल नामों को खोजने में विफल रहेगा जैसे C: \ शिवाय, भले ही आप स्रोत फ़ोल्डर का नाम बदलें या इसे अपने कंप्यूटर पर कहीं और स्थानांतरित करें, यह अभी भी विफल हो जाएगा, और आप हर बार .pro फ़ाइल को संपादित करना होगा
शिवम झा

0

यदि आप कस्टम मेकफाइल्स का उपयोग करते हैं, तो आप .includes फ़ाइल पर डबल क्लिक कर सकते हैं और इसे वहां जोड़ सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.