2014-01-09 94 views
11

運行桌面項目時,新的libGDX項目無法加載庫liblwjgl.dylib。libGDX項目無法加載庫liblwjgl.dylib

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: 
/var/folders/4l/nsj9j4xj51g8h_6y_ndpnmc80000gn/T/libgdxChristian/3741154320/liblwjgl.dylib 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1798) 
    at java.lang.Runtime.load0(Runtime.java:809) 
    at java.lang.System.load(System.java:1080) 
    at org.lwjgl.Sys$1.run(Sys.java:70) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:66) 
    at org.lwjgl.Sys.loadLibrary(Sys.java:95) 
    at org.lwjgl.Sys.<clinit>(Sys.java:112) 
    at org.lwjgl.openal.AL.<clinit>(AL.java:59) 
    at com.badlogic.gdx.backends.openal.OpenALAudio.<init>(OpenALAudio.java:70) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:80) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:64) 
    at com.foxhat.test.Main.main(Main.java:14) 

更新:

我在OSX 10.9運行Java 1.8。同樣的錯誤不僅出現在自己的項目中,而且出現在使用libGDX構建的外部JAR中。

在錯誤中提到的文件夾,其中liblwjgl.dylib搜索,包含:

liblwjgl.jnilib 
openal.dylib 

重命名liblwjgl.jnilib.dylib做爲外國申請的工作,而不是我自己。

+0

當我開始使用libgdx時,當我嘗試運行「核心」項目而不是桌面項目時,我犯了一個錯誤,我想我遇到了同樣的問題,並且通常使用gdx-setup-ui開始一個新項目。 – Paul

+2

我有完全相同的問題,並且您提出的小改名技巧爲我做了。如果你是發生在這個問題上的某個人,那麼只需確定一下即可。 – Aubergine

+0

感謝您提及將.jnilib重命名爲.dylib。這對我有用!我使用Hiero進行SDF字體渲染,並使用https://www.npmjs.com/package/three-bmfont-text –

回答

0

也許你應該嘗試在源路徑或「核心」目錄中包含LWJGL .jar庫。

2

我相信這是Java 7和LWJGL之間的兼容性問題。出於某種原因,這也只會影響到OS X,因爲它在我的Windows和Ubuntu機器上工作得很好,但在我的Mac上卻沒有問題。您的選擇與直到問題得到解決工作:

  • 調試在Android/Robovm
  • 代碼另一臺機器上,直到問題得到解決

考慮您可以使用Android模擬器,我想Android測試是最好的選擇。