[LWJGL] "Can't load IA 32-bit .dll on a AMD 64-bit platform"

Trying to play LibGDX with LWJGL3 on my Win10 desktop. Worked fine until I downloaded the latest version of LibGDX. Now I get the following error:

[LWJGL] Version: 3.1.2 SNAPSHOT
[LWJGL] 	 OS: Windows 10 v10.0
[LWJGL] 	JRE: 1.8.0_141 amd64
[LWJGL] 	JVM: Java HotSpot(TM) 64-Bit Server VM v25.141-b15 by Oracle Corporation
[LWJGL] Loading library (system): lwjgl
[LWJGL] 	Found at: C:\Users\P0jahn\AppData\Local\Temp\lwjglP0jahn\3.1.2-SNAPSHOT\lwjgl.dll
Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: C:\Users\P0jahn\AppData\Local\Temp\lwjglP0jahn\3.1.2-SNAPSHOT\lwjgl.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
	at java.lang.Runtime.load0(Runtime.java:809)
	at java.lang.System.load(System.java:1086)
	at org.lwjgl.system.Library.loadSystem(Library.java:161)
	at org.lwjgl.system.Library.loadSystem(Library.java:151)
	at org.lwjgl.system.Library.loadSystem(Library.java:115)
	at org.lwjgl.system.Library.loadSystem(Library.java:66)
	at org.lwjgl.system.Library.<clinit>(Library.java:49)
	at org.lwjgl.system.MemoryUtil.<clinit>(MemoryUtil.java:59)
	at org.lwjgl.system.MemoryStack.<init>(MemoryStack.java:60)
	at org.lwjgl.system.MemoryStack.create(MemoryStack.java:79)
	at org.lwjgl.system.MemoryStack.create(MemoryStack.java:70)
	at java.lang.ThreadLocal$SuppliedThreadLocal.initialValue(ThreadLocal.java:284)
	at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:180)
	at java.lang.ThreadLocal.get(ThreadLocal.java:170)
	at org.lwjgl.system.MemoryStack.stackGet(MemoryStack.java:605)
	at org.lwjgl.system.MemoryStack.stackPush(MemoryStack.java:614)
	at org.lwjgl.system.Callback.<clinit>(Callback.java:38)
	at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.initializeGlfw(Lwjgl3Application.java:78)
	at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:88)
	at game.core.GameLauncher.lambda$launch$0(GameLauncher.java:13)
	at java.lang.Thread.run(Thread.java:748)

Using IntelliJ. The following JARs are imported class librares:

  • gdx.jar
  • gdx-backend-lwjgl3.jar
  • gdx-backend-lwjgl-natives.jar
  • gdx-natives.jar

Don’t really get why it tries to load the 32-bit DLL. Don’t even have a 32-bit JVM installed on my computer.

Strange. I’m on gdx 1.9.6 + lwjgl 3.1.2, and have no problems with intellij on oracle 1.8, 64bit JDK (but on linux, not windows)

Of note, I don’t use gradle or maven, but get the correct files from the maven repo.

I downloaded “latest” from nightlies. What makes LWJGL try to load 32-bit dll?

It seems to work with the gradle project generated by gdx-setup. Just a bit annoying that I have to migrate my project.