c++ अन्य कंप्यूटरों पर क्यूटी 5 एप्लिकेशन कैसे चलाएं(विंडोज 7)




windows qt (4)

आपकी मदद लोगों के लिए धन्यवाद!

मेरे लिए, बस qwindows.dll को /platforms निर्देशिका में जोड़कर किसी भी तरह इसे काट नहीं किया।
मुझे पूरी तरह से पूरी तरह से अपने अनुप्रयोग की बाइनरी निर्देशिका में पूरी प्लगइन्स निर्देशिका की प्रतिलिपि बनाने और निम्नलिखित सामग्री के साथ एक qt.conf फ़ाइल बनाने के द्वारा काम करने के लिए सब कुछ मिल गया:

[Paths]
Plugins=./plugins

मैंने विंडोज 7 अल्टीम पर क्यूटी 5.0.2 के साथ एक सरल अनुप्रयोग विकसित किया है। कम्पाइलर के रूप में क्यूटी क्रिएटर ने एमएसवीसी2012_64 बिट का इस्तेमाल किया। और मैं अपने आवेदन को दूसरे कंप्यूटर पर नहीं ले जा सकता। यह काम नहीं करता। क्यूटी आवेदन के लिए DLL की आवश्यकता होती है, जिसे मैं नहीं मिल सकता। निर्भरता एक्सप्लोरर सोचता है कि नीचे दिए गए .dll नहीं मिले हैं। मैं उन्हें कहां मिल सकता हूं? यह समस्या इतनी व्यापक क्यों फैल गई है? सभी लोग शिकायत करते हैं कि वे अपने .exe प्राप्त नहीं कर सकते, जो क्यूटी के साथ विकसित किया गया है, दूसरे कंप्यूटर पर काम करते हैं।

EDIT1: BTW जब मैंने DCOMP.dll को इंटरनेट से डाउनलोड किया है, तो DCOMP.dll नहीं मिला है, इसकी तुलना में अब 2-3 गुना अधिक है :)

EDIT2: यह भी ध्यान रखें कि जब मैं exe फ़ाइल पर डबल क्लिक करता हूं तो अन्य कंप्यूटर पर (विंडोज 7 होम प्रीमियम), यह दिखाता है कि यह लोड करता है और कोई प्रभाव नहीं, कोई त्रुटि नहीं है


Qt इन दिनों (जैसा कि कम से कम क्यूटी 5.2, यदि पहले नहीं है) "windeployqt.exe" के साथ जहाज है, जो आपके संकलित कार्यक्रम (और, यदि आप की तरह उनका उपयोग कर रहे हैं, की एक अतिरिक्त तर्क के रूप में) qmldir path / to / qml / files "Qt क्विक प्रोग्राम के लिए) सभी आवश्यक DLL को उसी निर्देशिका में थोप कर देना चाहिए, क्योंकि वर्तमान में आपका कंपाइल वाला प्रोग्राम रहता है। उदाहरण के लिए, एक स्थानीय बिल्ड मशीन पर अपने लिए, मैंने निम्न की कुछ पंक्तियों के साथ चल दिया:

    windeployqt --qmldir C:\Code\AppSource C:\Code\build-msvc2010\release

यह Qt \ bin डायरेक्टरी के साथ मेरे $ पायथ (या, मैं विंडोज़ भाषा में अनुमान लगाता है,% PATH%;)) क्यूटी 5.5 का उपयोग कर रहा हूं, हालांकि मैंने भी इसी तरह 5.2 और 5.3 के साथ वापस किया है।

IIRC यदि कंसाइलर के रूप में एमएसवीसी का उपयोग कर रहा है तो मुझे उन DLLs (मेरे मामले में, msvc2010, msvcp100.dll और msvcr100.dll) की मैन्युअल रूप से प्रतिलिपि बनाने की आवश्यकता है, लेकिन मैं गलत याद रख सकता था।


बस qt.conf फाइल को निम्नलिखित qt.conf के साथ अपने एप डियर में जोड़ें

[Paths]

Libraries=./platforms

फिर कॉपी करें, उसी ऐप डीआईआर में, सबडीर "प्लेटफॉर्म" जिसे आप डायरेक्शन सी में मिलेंगे: \ Qt \ Qt5.1.1 \ Tools \ QtCreator \ bin

बस इतना ही।

यह हल करता है क्योंकि qtcore.dll को आपके qt instalation के आंतरिक पथ के साथ संकलित किया गया है। (मुझे पता नहीं है!) चूंकि, qt.conf सभी तरह से qtcore द्वारा पढ़ा जाता है जब ऐप "प्लेटफॉर्म्स" में लाइब्रेरी शुरू हो जाती है और एप किसी भी मेजबान पर काम करता है।

चेतावनी: qtcore और प्लेटफार्म उप डायर को उसी क्यूटी इन्स्टालेशन से बनना होगा।

अंग्रेजी द्वारा खेद है लेकिन समाधान ठीक काम करता है।


यह मेरे लिए आवश्यक C:\Qt\Qt5.0.2\5.0.2\mingw47_32\plugins\platforms की सूची है और मैंने C:\Qt\Qt5.0.2\5.0.2\mingw47_32\plugins\platforms फ़ोल्डर की नकल की C:\Qt\Qt5.0.2\5.0.2\mingw47_32\plugins\platforms :

बस यह और यह मेरे लिए काम किया Btw मैं विंडोज 7 अंतिम 64x, और Qt 5.0 के लिए विंडोज 32-बिट (MinGW 4.7, 650 एमबी) पैकेज के लिए क्यूटी 5.0.2 का उपयोग करते हैं।

संपादित करें: आपको qt.conf की। Dll की भी प्रतिलिपि बनाने की आवश्यकता हो सकती है और आपको निम्न सामग्री के साथ qt.conf नाम की एक फ़ाइल की आवश्यकता हो सकती है (@Renato उत्तर से कॉपी किया गया):

[Paths]

Libraries=./platforms




windows-7-x64