我的應用程序拋出下面的異常。Windows上的SWT 64位
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SW T libraries on 64-bit JVM.
如何解決這個問題?什麼是需要的jar文件的名稱?
我的應用程序拋出下面的異常。Windows上的SWT 64位
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SW T libraries on 64-bit JVM.
如何解決這個問題?什麼是需要的jar文件的名稱?
在64位JVM上,您需要64位SWT。當前版本可以在這裏下載:
http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/index.php#SWT
注意前兩個下載,第一個是32倍,其他爲64。
注意:即使在64位Windows上,如果您使用32位JVM,您仍然需要32位SWT版本!
您只是針對錯誤版本的SWT構建。請下載64位Eclipse或獲取增量包並根據正確的目標環境構建。
什麼是「delta pack」?我對通用解決方案很好奇,因爲我很想讓SWT應用程序動態地選擇正確的jar。 此外,您應該記住,SWT需要與虛擬機的版本相同 - 不一定是您的操作系統。 – 2010-05-30 14:59:47
增量包不會讓你做任何「動態」的事情,它只是讓你有能力爲任何目標建立任何目標。 http://louismrose.wordpress.com/2009/01/23/installing-the-rcp-delta-pack-for-eclipse/ – andyczerwonka 2010-05-31 04:49:12
幾周前我面臨同樣的問題。我們開發的RCP應用程序必須使用32位SWT,但我們在64位機器上工作。
我們所要做的就是更改Eclipse的配置,使其指向32位JVM。我們在Window - > Preferences - > Java - > Installed JRE上做了這個。在此首選項頁面上,我們將「Program Files」的所有參考文件更改爲「Program Files(x86)」。
我希望它以某種方式幫助你。
如果您正在開發64位版本的32位RCP應用程序的Eclipse,您還必須配置應用程序的目標平臺以明確使用x86體系結構。否則,Eclipse PDE仍然會將64位版本的SWT庫設置爲插件依賴項。 – 2015-08-10 14:21:07
我的回答更多的是上面貼的答案,尤其是誰提供的(在我看來)最佳答案的用戶@ClickUpvote的評論彙編少。所以這裏,我只是發佈之前測試過它:
如果您的應用程序拋出下面的異常(在Windows 7 64位,與JVM 64)
異常線程「main」 java.lang.UnsatisfiedLinkError中:無法在64位JVM上加載32位SW T庫。
然後解決方案如下: 在64位JVM上,您需要64位SWT。如下所述
當前版本可以下載 - 漂亮隱藏的很好:
向下滾動到發佈
點擊更在:
Stable
Windows, Linux, OS X, more...
的Windows下(x86_64)(支持的版本)(HTTP)6.3 MB swt-4.4-win32-win32-x86_64.zip
而這正是你需要的版本。
對於64位版本的下載,這些鏈接都已過時。試試這個:http://jarfiles.pandaidea.com/swt.html,經過一個小時的搜索後找到。
這是正確的,但只是一個簡短的說明,如果你沒有控制通過它可以使用SWT(例如,在64位系統上開發插件,使用64位JVM爲32位RCP應用程序),您應該安裝並使用32位JVM來啓動您的產品,而不是修改您的RCP目標平臺(請參閱Mario Marinato的答案)。 – Caspar 2011-08-04 02:03:45
@Casper:正確。 – Daniel 2011-08-04 07:09:24
新版本:[64位SWT](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 2013-01-14 12:24:47