LWJGL Forum

Programming => OpenAL => Topic started by: TCIAL on July 05, 2013, 00:05:20

Title: OpenAL Unsatisfied Link Error - Windows
Post by: TCIAL on July 05, 2013, 00:05:20
Hi,

I get the following error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalGenBuffers(IJ)V
at org.lwjgl.openal.AL10.nalGenBuffers(Native Method)
at org.lwjgl.openal.AL10.alGenBuffers(AL10.java:1019)


In eclipse I pointed the native location of lwjgl.jar and lwjgl_util.jar to the \windows folder. So what have i done wrong ? :(

Josh
Title: Re: OpenAL Unsatisfied Link Error - Windows
Post by: quew8 on July 05, 2013, 11:16:55
Do you also have OpenAL32.dll / OpenAL64.dll?
Title: Re: OpenAL Unsatisfied Link Error - Windows
Post by: TCIAL on July 05, 2013, 13:36:26
Hey,

yep those dll's are in the folder I pointed to.

Josh
Title: Re: OpenAL Unsatisfied Link Error - Windows
Post by: quew8 on July 05, 2013, 16:20:50
The other thing to make sure is that you are using the correct version of the native libraries for the corresponding version of the java libraries. Ie. have you just upgraded to LWJGL 2.9.0 and copied across the new jars but forgot to copy across the new dlls?
Title: Re: OpenAL Unsatisfied Link Error - Windows
Post by: TCIAL on July 06, 2013, 09:45:23
Hi,

I have replaced both, ne natives and the jars.

Josh
Title: Re: OpenAL Unsatisfied Link Error - Windows
Post by: gygavolt on October 11, 2013, 06:05:24
Hi!

I got similar error with EFX10:
Exception in thread "jME3 Audio Thread" java.lang.UnsatisfiedLinkError: org.lwjgl.openal.EFX10.nalGenAuxiliaryEffectSlots(IJ)V
   at org.lwjgl.openal.EFX10.nalGenAuxiliaryEffectSlots(Native Method)
   at org.lwjgl.openal.EFX10.alGenAuxiliaryEffectSlots(EFX10.java:529)

EFX10.java:
......
   public static void alGenAuxiliaryEffectSlots(IntBuffer auxiliaryeffectslots) {
      BufferChecks.checkDirect(auxiliaryeffectslots);
      nalGenAuxiliaryEffectSlots(auxiliaryeffectslots.remaining(), MemoryUtil.getAddress(auxiliaryeffectslots));
   }
   static native void nalGenAuxiliaryEffectSlots(int auxiliaryeffectslots_n, long auxiliaryeffectslots);
/** Overloads alGenAuxiliaryEffectSlots. */
   public static int alGenAuxiliaryEffectSlots() {
      int __result = nalGenAuxiliaryEffectSlots2(1);
      return __result;
   }
   static native int nalGenAuxiliaryEffectSlots2(int n);
......

I don't understand why overload does not work. I've checked lwjgl.dll
There is no "nalGenAuxiliaryEffectSlots" in there. It causes "UnsatisfiedLinkError" error. What's wrong?