2010-05-27 15 views
39

पर एसडब्ल्यूटी मेरा आवेदन नीचे अपवाद फेंकता है।विंडोज 64-बिट

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SW T libraries on 64-bit JVM.

इसे कैसे हल करें? जार फ़ाइल का नाम क्या है?

उत्तर

41

64-बिट जेवीएम पर आपको 64-बिट एसडब्ल्यूटी की आवश्यकता है। वर्तमान संस्करण यहाँ डाउनलोड किया जा सकता है:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/index.php#SWT

नोट पहले दो डाउनलोड, पहले x32 के लिए, 64 के लिए अन्य है।

नोट: 64 बिट विंडोज़ पर भी, यदि आप 32 बिट जेवीएम का उपयोग करते हैं, तो आपको अभी भी 32 बिट एसडब्ल्यूटी संस्करण की आवश्यकता है!

+3

यह सही है, लेकिन केवल एक त्वरित नोट है कि अगर आपके पास नियंत्रण नहीं है जिस पर एसडब्ल्यूटी का उपयोग किया जाता है (उदाहरण के लिए 32-बिट आरसीपी एप्लिकेशन के लिए 64-बिट सिस्टम के साथ 64-बिट सिस्टम पर प्लग-इन विकसित करना), आपको बस अपने उत्पाद को लॉन्च करने के लिए 32-बिट JVM इंस्टॉल करना और उपयोग करना चाहिए अपने आरसीपी लक्ष्य मंच को संशोधित करना (मारियो मारिनटो का जवाब देखें)। – Caspar

+0

@ कैस्पर: सही। – Daniel

+2

का नया संस्करण: [64-बिट एसडब्ल्यूटी] (http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.2.1-201209141800/swt-4.2.1 -win32-win32-x86_64.zip) – Adil

1

आप बस SWT के गलत संस्करण के खिलाफ निर्माण कर रहे हैं। या तो 64 बिट ग्रहण डाउनलोड करें या डेल्टा पैक को पकड़ें और सही लक्ष्य वातावरण के खिलाफ निर्माण करें।

+0

"डेल्टा पैक" क्या है? मैं एक सामान्य समाधान के बारे में उत्सुक हूं, क्योंकि मुझे अपना एसडब्ल्यूटी एप्लीकेशन गतिशील रूप से सही जार का चयन करना अच्छा लगेगा। इसके अलावा, आपको यह ध्यान में रखना चाहिए कि एसडब्ल्यूटी को आपकी वर्चुअल मशीन के समान संस्करण होना चाहिए - जरूरी नहीं कि आपका ओ/एस। –

+0

डेल्टा पैक आपको कुछ भी गतिशील नहीं करने देगा, यह आपको किसी भी लक्ष्य से किसी भी लक्ष्य के लिए निर्माण करने की क्षमता देता है। http://louismrose.wordpress.com/2009/01/23/installing-the-rcp-delta-pack-for-eclipse/ – andyczerwonka

6

मुझे कुछ हफ्ते पहले एक ही समस्या का सामना करना पड़ा। हम एक आरसीपी आवेदन विकसित करते हैं जिसे 32 बिट एसडब्ल्यूटी का उपयोग करना चाहिए, लेकिन हम 64 बिट मशीनों पर काम करते हैं।

हमें ग्रहण की कॉन्फ़िगरेशन बदलने के लिए क्या करना था, इसलिए यह 32 बिट जेवीएम की ओर इशारा करता था। हमने इसे विंडो पर किया -> प्राथमिकताएं -> जावा -> स्थापित जेआरई। इस वरीयता पृष्ठ पर, हमने प्रोग्राम फ़ाइलें "से प्रोग्राम फ़ाइलें (x86)" से सभी संदर्भों को बदल दिया है।

मुझे आशा है कि यह आपको किसी भी तरह से मदद करेगा।

+0

देखें यदि आप 64-बिट संस्करण के भीतर 32-बिट आरसीपी अनुप्रयोग विकसित कर रहे हैं ग्रहण के, आपको x86 आर्किटेक्चर का स्पष्ट रूप से उपयोग करने के लिए एप्लिकेशन के लक्ष्य प्लेटफ़ॉर्म को भी कॉन्फ़िगर करना होगा। अन्यथा ग्रहण पीडीई प्लगइन निर्भरताओं के रूप में एसडब्ल्यूटी पुस्तकालयों के 64-बिट संस्करणों को अभी भी सेट करेगा। –

2

SWT पुस्तकालय डाउनलोड करने के लिए नवीनतम कड़ी के लिए: SWT project page

+0

+1 मैं केवल इसके लिए देख रहा था, धन्यवाद –

2

मेरा जवाब अधिक ऊपर जवाब, विशेष रूप से उपयोगकर्ता @ClickUpvote (मेरी राय द्वारा), जो प्रदान की सर्वश्रेष्ठ उत्तर की टिप्पणी पोस्ट की कम संकलन है। तो यहाँ यह है, मैं सिर्फ यह पोस्ट करने से पहले यह परीक्षण किया:

अपने आवेदन नीचे अपवाद फेंकता है तो (विंडोज 7 64 बिट, JVM 64) के साथ सूत्र में

अपवाद "मुख्य" java.lang.UnsatisfiedLinkError : 64-बिट जेवीएम पर 32-बिट एसडब्ल्यू टी पुस्तकालय लोड नहीं कर सकता।

फिर समाधान निम्नानुसार है: 64-बिट जेवीएम पर आपको 64-बिट SWT की आवश्यकता है।

  • पर क्लिक करें अधिक पर http://www.eclipse.org/swt/

  • स्क्रॉल विज्ञप्ति के लिए नीचे:

    • जाएं:

      बहुत अच्छी तरह से छिपा हुआ -

      वर्तमान संस्करण के लिए नीचे बताए डाउनलोड किया जा सकता

    Stable

    Windows, Linux, OS X, more...

    विंडोज (x86_64) (समर्थित संस्करण) (http) 6.3 एमबी swt-4.4-win32-win32-x86_64.zip

    और यह वही संस्करण है जो आपको चाहिए।

  • 1

    ये लिंक 64-बिट संस्करणों के डाउनलोड के लिए बहुत कम हैं। इसे आजमाएं: , गुगलिंग के एक घंटे बाद पाया गया।