Когда я пытаюсь инициализировать JOGL, используя GLProfile.initSingleton(false);
в методе start
моего плагина Activator, я получаю следующее исключение:
java.lang.UnsatisfiedLinkError: jogamp.nativewindow.windows.GDI.initIDs0()Z
Я включаю необходимые нативные библиотеки, используя запись OSGi Manifest Bundle-NativeCode
.
Я упаковал библиотеки (JOGL, Gluegen и Nativewindow) в отдельные плагины и установил следующий манифест для плагина Nativewindow (где, очевидно, возникает ошибка):
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Nativewindow
Bundle-SymbolicName: lib.nativewindow;singleton:=true
Bundle-Version: 2.0.0.rc2
Bundle-ClassPath: nativewindow.all.jar
Export-Package: com.jogamp.nativewindow,
javax.media.nativewindow,
javax.media.nativewindow.awt,
javax.media.nativewindow.egl,
javax.media.nativewindow.macosx,
javax.media.nativewindow.util,
javax.media.nativewindow.windows,
javax.media.nativewindow.x11,
jogamp.nativewindow,
jogamp.nativewindow.awt,
jogamp.nativewindow.jawt,
jogamp.nativewindow.jawt.macosx,
jogamp.nativewindow.jawt.windows,
jogamp.nativewindow.jawt.x11,
jogamp.nativewindow.swt,
jogamp.nativewindow.windows,
jogamp.nativewindow.x11
Require-Bundle: lib.gluegen;bundle-version="2.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-NativeCode: native/windows/i586/nativewindow_awt.dll; native/windows/i586/ nativewindow_win32.dll; osname=win32; processor=x86,
native/windows/amd64/nativewindow_awt.dll; native/windows/amd64/nativewindow_win32.dll; osname=win32; processor=x86-64,
native/macosx/libnativewindow_awt.jnilib; osname=maxosx; processor=x86,
native/macosx/libnativewindow_awt.jnilib; osname=maxosx; processor=ppc,
native/linux/i586/libnativewindow_awt.so; native/linux/i586/libnativewindow_x11.so; osname=linux; processor=x86,
native/linux/amd64/libnativewindow_awt.so; native/linux/amd64/libnativewindow_x11.so; osname=linux; processor=x86-64
Я дважды проверил пути к собственным библиотекам, и они указывают на правильные файлы.
Теперь, что я сделал не так?