2013-06-11 45 views
1

試圖無法在OSX

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    no swt-win32-4234 in java.library.path 
    no swt-win32 in java.library.path 
    Can't load library: /Users/bigbitecode/.swt/lib/macosx/x86_64/libswt-win32-4234.jnilib 
    Can't load library: /Users/bigbitecode/.swt/lib/macosx/x86_64/libswt-win32.jnilib 

代碼工作在Windows和Linux很好,但由於某些原因,未能在最大OSX雪豹運行時碰到的IntelliJ中的一個錯誤加載SWT庫在上述投訴的osx上編譯後運行。

我覺得可疑的東西是「libswt-win32- *」它不應該使用可可,因爲它正在編譯mac嗎?我檢查了這個目錄,果然在「../x86_64/」目錄中沒有任何內容。 但是,我已經添加了該項目的依賴項有swt.jar

難道是我的JVM設置不正確嗎?

感謝您的幫助!

編輯:這是我的SWT.JAR清單是lib文件夾

 
Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.3 
Created-By: 1.6.0_21-b06 (Sun Microsystems Inc.) 
SWT-OS: win32 
SWT-WS: win32 
SWT-Arch: x86_64 
+0

而且您確定您正在使用'swt.jar' for MacOS,並且不引用Windows的? – Baz

+0

@Baz是的,實際上,我在jar中看到了lib-cocoa.jnilib和更多的Mac相關文件。 – bigbitecode

+0

清單是什麼樣的? – Baz

回答

0

你應該使你的操作系統,虛擬機,SWT的平臺內。

例如:

操作系統:Windows 7 32位 VM:JRE 7勝32位 SWT:Win32的二進制

,或者

操作系統:Windows 7 64位 VM:JRE 7勝64位 SWT:win32_x64二進制

所以,如果你的操作系統是OSX(mac),你應該使用SWT osx binary,而不是win32。