2011-02-10 9 views
6

मै मैकडॉफ्टक्टी का उपयोग कर एक एप्लिकेशन को तैनात करने की कोशिश कर रहा हूं। सभी क्यूटी फ्रेमवर्क को एप्लिकेशन बंडल में सही ढंग से कॉपी किया जाता है। मुझे जिस समस्या का सामना करना पड़ता है वह यह है कि macdeployqt में कॉपी किए गए ढांचे पर लिखने की अनुमति नहीं है जो मूल रूप से/usr/local/lib में रहते हैं। ऐसा इसलिए है क्योंकि मैंने होमब्री का उपयोग करके क्यूटी स्थापित किया है जो कि सबकुछ केवल पढ़ने के लिए स्थापित करता है। मेरा सवाल यह है कि इस समस्या को ठीक करने के लिए बेहतर तरीका है या फिर/usr/local/lib के अंदर क्यूटी पुस्तकालयों की सभी अनुमतियों को मैन्युअल रूप से बदलना है ताकि मैं एक qt .pro प्रोजेक्ट के भीतर से macdeployqt का उपयोग कर सकूं। (मैं sudo या ऐसे के साथ मैन्युअल रूप से macdeployqt का उपयोग नहीं करना चाहता)homebrew स्थापित फ्रेमवर्क पर macdeployqt

कारण मैं क्यों पूछ रहा हूं क्योंकि मैं प्रोजेक्ट में कई तृतीय पक्ष पुस्तकालयों का उपयोग कर रहा हूं (उन्हें ठीक कॉपी किया गया है) जो मुझे चाहिए होमब्री के माध्यम से अक्सर अद्यतन करें और इस प्रकार उन पर बदलने की अनुमति को फिर से करना होगा।

अग्रिम धन्यवाद!

+0

मेरा क्यूटी फ्रेमवर्क पुस्तकालय सभी मेरे स्थानीय उपयोगकर्ता और समूह के स्वामित्व में हैं। मैं आपको अपना बदलना चाहता हूं और इसके साथ किया जाना चाहिए क्योंकि मुझे इसके साथ कोई समस्या नहीं है। – TheDarkKnight

+0

@ Merlin069, मुझे एक ही समस्या का सामना करना पड़ा, क्या आपको कोई जवाब मिला? –

+0

यदि आपका एप्लिकेशन होमब्री पर निर्भर है, और यह क्यूटी इंस्टॉल कर रहा है, तो आप निर्भरताओं को अपने .app में कॉपी करने के बारे में चिंता क्यों करना चाहेंगे? क्या उन्हें होमब्री इंस्टॉलेशन द्वारा पहले स्थान पर हल नहीं किया जाना चाहिए? – phyatt

उत्तर

1

शायद ज़रुरत पड़े कोई इस पुराने पोस्ट macdeployqt के बारे में जानकारी के लिए देख पाता है: वरीयता में macdeployqt करने के लिए

एक स्क्रिप्ट का प्रयोग करें अपने .pro फ़ाइल में macdeployqt आदेशों को स्क्रिप्ट के लिए। इससे आप फ्लाई पर फ़ाइलों पर अनुमतियों को बदल सकते हैं।

यहाँ [का एक टुकड़ा] है स्क्रिप्ट मैं अपने ऐप्स के लिए उपयोग करें:

https://bugreports.qt-project.org/browse/QTBUG-23268

आप Windows पर हैं और पार्टी की जरूरत नहीं है, तो आप पर्ल या अजगर का उपयोग कर सकते हैं। उपरोक्त संदर्भित स्क्रिप्ट फ्लाई पर फ़ाइलों को एक बग के आसपास काम करने के लिए संशोधित करती है - आप फ़ाइलों पर अनुमतियों को बदलने सहित, यहां कुछ भी डाल सकते हैं।

एक स्क्रिप्ट का उपयोग करने का अर्थ यह भी है कि आपके पास कोड-हस्ताक्षर, पैकेजिंग या जो कुछ भी आपको चाहिए, करने के लिए बाद में कमांड जोड़ने के लिए लचीलापन है।

क्यूटी .pro "स्क्रिप्टिंग भाषा" वास्तव में मेकफ़ाइल आदेशों को हुड के नीचे उत्पन्न करता है और यदि आप पथों और फ़ाइलों के सेट से संबंधित तैनाती कार्यों को पूरा करना चाहते हैं तो काफी अस्पष्ट हो सकते हैं।

इसके अलावा आपको अतिरिक्त लक्ष्य बनाना होगा या इसे अपने निर्माण लक्ष्य में शामिल करना होगा - किसी भी तरह से निर्माण प्रक्रिया अधिक जटिल हो जाती है और अधिक त्रुटि प्रवण होती है।

अस्वीकरण: मैंने नोकिया/ट्रॉल्टेक के वरिष्ठ अभियंता के रूप में 8 वर्षों के लिए क्यूटी पर काम किया, और क्यूटी का उपयोग करके एक वाणिज्यिक क्रॉस-प्लेटफार्म ऐप भी प्रकाशित किया।

+0

लिंक https://bugreports.qt-project.org/browse/QTBUG-23268 टूटा हुआ है। –