2012-07-27 12 views
11

मैंने क्यूटी निर्माता में एक एप्लीकेशन बनाया जो सीआईएमजी के साथ कुछ छवि प्रसंस्करण करता है। जब मैं इसे अंदरूनी आईडीई से चलाता हूं तो यह ठीक चलता है, लेकिन अगर मैं इसे अपनी निर्देशिका से लॉन्च करने का प्रयास करता हूं, तो यह निम्न त्रुटि फेंकता है।क्यूटी रिलीज बिल्ड डीएलएल प्रक्रिया एंट्री पॉइंट त्रुटि

The procedure entry point [email protected]@[email protected]$$QAV0AAZ could not be located 
in the dynamic link library QtCore4.dll 

सबकुछ डीएलएल के कई संस्करण स्थापित करने के लिए इंगित करता है। मैंने पाया कि मेरा एक्सिलिनक्स आईडीई क्यूटी पुस्तकालयों का उपयोग करता है, लेकिन सवाल में डीएलएल एक ही संस्करण हैं। मैं वास्तव में एक सॉफ्टवेयर लड़का नहीं हूं, और यहां एक नुकसान पर।

उत्तर

14

भले ही लाइब्रेरी संस्करण समान है, वे गैर संगत हो सकते हैं। उदाहरण के लिए, उन्हें एसटीएल समर्थन, ओपनजीएल, एसक्यूएल ड्राइवरों के साथ या बिना विभिन्न कॉन्फ़िगरेशन के साथ संकलित किया गया था ...

इसे ठीक करने का सबसे आसान तरीका PATH पर्यावरण परिवर्तक की शुरुआत में क्यूटी एसडीके के पथ को स्थानांतरित करना चाहिए। इस तरह जब भी आप एक निष्पादन योग्य चलाते हैं जिसके लिए क्यूटी पुस्तकालयों की आवश्यकता होती है तो यह एसडीके (PATH में पाया गया पहला) के साथ भेजे गए लोगों को लोड करेगा, जब तक कि निष्पादन योग्य निर्देशिका में QtCore4.dll, QtGui4.dll की प्रतियां पहले से ही नहीं हैं। इस कारण से यदि आप अपने आवेदन को फिर से वितरित करते हैं तो आपको पुस्तकालयों को अपनी निर्देशिका में भी भेजना पड़ सकता है।

एक और विकल्प स्थैतिक लिंकिंग है, लेकिन आपको (एल) जीपीएल लाइसेंस के तहत स्रोत कोड प्रदान करना होगा।

+0

निर्देशिका में QtCore4.dll और QtGui4.dll की प्रतियां हैं। यह सभी आवेदन की जरूरत है। स्टेटिक लिंकिंग या तो काम नहीं कर रहा है। मैं इसे इंजीनियर पर वापस फेंकने के लिए तैयार हूं और उसे कमांड लाइन संस्करण से निपटने के लिए कहता हूं। –

+0

@Matt क्या आपका मतलब है कि आप अपने QtCore4.dll को एप्लिकेशन की निर्देशिका में डालते हैं और फिर भी वह संदेश दिखाते हैं? शायद यह गलत DLL है। शायद आपने डीटीएल को क्यूटीक्रिएटर की निर्देशिका से लिया है, लेकिन आपको इसे एसडीके से ले जाना चाहिए, क्योंकि वे _not_ समान नहीं हैं (और आपका एप्लिकेशन बाद वाले से जुड़ा हुआ है)। – Claudio

+0

रण निर्भरता वाकर, और निर्देशिका में डीएलएस को दोबारा दोहराया। निश्चित नहीं है कि मैंने मूल रूप से किस डीएल का उपयोग किया था, लेकिन यह अब काम करता है। –

-1

लाइब्रेरी से जुड़े स्टेटिक समस्या को समाप्त करता है।

+6

लेकिन बलों आप के तहत (एल) जीपीएल जारी करने के लिए:

इस जवाब यहाँ देखें। – Claudio

0

क्यूटीकोर 4 डीएल लोड होने से सूची में निर्भरता वाल्कर का उपयोग करें। मुझे एक ही समस्या थी - निर्भरता वॉकर ने मुझे दिखाया कि qtcore4.dll c: \ windows \ system32 से लोड किया गया था - लेकिन इस फ़ोल्डर में कोई qtcore4.dll नहीं था।

सावधान रहें: विंडोज 7 64 बिट सी पर: \ windows \ SysWOW64 को c: \ windows \ system32 के रूप में "मैप किया गया" है। और इस फ़ोल्डर में मैंने डीएल पाया - मैंने डीएल का नाम बदल दिया और समस्या हल हो गई। Qt fresh Gui application crashes on startup, faulting at QtCore4.dll

संबंधित मुद्दे