Qt: * .pro बनाम * .pri


86

बीच क्या अंतर है *.proऔर *.priqmake के लिए विन्यास फाइल?

* .Pro फ़ाइल में क्या जाना चाहिए और * .pri फ़ाइल में क्या जाना चाहिए?

जवाबों:


53

एक .proफ़ाइल वह है जिस पर आप QMake चलाते हैं। एक .priफ़ाइल एक फ़ाइल शामिल है .pro। इसके अलावा दोनों के बीच बहुत अंतर नहीं है।

उदाहरण का उपयोग हो सकता है यदि आपके पास अलग-अलग बिल्ड हैं जिनके लिए विभिन्न विकल्पों की आवश्यकता है। आप विभिन्न .pri फ़ाइलों के विकल्पों को हटाते हुए, .pro में साझा जानकारी डाल सकते हैं। थोड़ी और जानकारी, हालांकि माना जाता है कि बहुत अधिक नहीं, यहां पाया जा सकता है


74

उनके लक्षित पुन: उपयोग के बीच एक मुख्य अंतर है:

।समर्थक

इसे आमतौर पर प्रोजेक्ट फाइल कहा जाता है ।

.pri

इसे आमतौर पर प्रोजेक्ट इन्क्लूड फाइल कहा जाता है ।

जैसा कि आप उनके नामों में देख सकते हैं, मुख्य अंतर यह है कि .priफाइलें फाइलों को शामिल करने के लिए होती हैं। यह अनिवार्य रूप से कार्यक्षमता साझा करने के लिए प्रोग्रामिंग भाषा में मॉड्यूल शामिल करने के समान है।

आप उन .priफ़ाइलों में सामान्य सेटिंग्स और कोड लिख पाएंगे और .proज़रूरत पड़ने पर उन्हें कई फ़ाइलों से शामिल कर सकते हैं । यह है कि आप इसे व्यवहार में कैसे उपयोग करेंगे:

foo.pri

FOO = BAR

hello.pro

...
include($$PWD/foo.pri)
...

world.pro

...
include($$PWD/foo.pri)
...

इस तरह, समानता दोनों में उपलब्ध होगा hello.proऔर साथ ही world.pro। इस परिदृश्य में बहुत फर्क नहीं पड़ता है, लेकिन जब साझा कार्यक्षमता लंबी हो जाती है, तो यह आपको कुछ लिखने के साथ-साथ सिंकिंग, बगफिक्सिंग, और इसी तरह बचाएगा।

आप चाहें तो .priकिसी .priफ़ाइल को दूसरी फ़ाइल के अंदर भी शामिल कर सकते हैं । आप .priविभिन्न उपप्रोजेक्ट्स आदि में भी फाइलें शामिल कर सकते हैं , यह बहुत अच्छा है।

सिंटैक्स एक ही है, हालांकि, दोनों .proऔर .priफ़ाइलों के लिए। अंत में, आप .proफ़ाइलों पर qmake चलाएंगे , और यह भी कि qmake आपके लिए क्या बनाता है यदि आपके पास कोई प्रोजेक्ट फ़ाइल मौजूद नहीं है और आप उपयोग करने का इरादा रखते हैं qmake -project

आप यहाँ फ़ंक्शन को शामिल करने के बारे में अधिक पढ़ सकते हैं :

शामिल हैं (फ़ाइल का नाम)

फ़ाइल की सामग्री को मौजूदा प्रोजेक्ट में फ़ाइलनाम द्वारा निर्दिष्ट बिंदु पर शामिल करता है जहां यह शामिल है। यह फ़ंक्शन सफल होता है यदि फ़ाइल नाम शामिल है; अन्यथा यह विफल रहता है। शामिल फ़ाइल को तुरंत संसाधित किया जाता है।

आप देख सकते हैं कि क्या इस फ़ंक्शन को स्कोप के लिए स्थिति के रूप में उपयोग करके फ़ाइल को शामिल किया गया था।

बस पूरा होने के लिए, .prf प्रोजेक्ट फ़ीचर फ़ाइल्स और .prl प्रोजेक्ट लिंकर फ़ाइल्स भी हैं , लेकिन अंतिम उपयोगकर्ता के रूप में, आपको अब तक इससे निपटने की आवश्यकता नहीं है।


16

.priफाइलों का प्रारूप बिल्कुल फाइलों के प्रारूप जैसा ही होता है .pro। मुख्य अंतर इरादे में से एक है; .प्रो। ज्यादातर लोग सीधे क्यूमेक चलाने की उम्मीद करते हैं, जबकि .pri को .pro द्वारा शामिल किया जाना है। जब आप qmake को किसी अन्य फ़ाइल को शामिल करने का निर्देश देते हैं, तो यह बस उस फ़ाइल में आदेशों को संसाधित करता है जैसे कि यह वर्तमान फ़ाइल में था।

संदर्भ के लिए: * .pro बनाम * .pri


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