OpenGL works! Was: Re: GCJ and OpenGL under Win32

Sal gcj@svf.dreamhost.com
Sun Jan 9 11:32:00 GMT 2005


I finally figured the problem out. I rebuilt the SWT OpenGL dll with 
mingw32, for some reason Sun's VM loads mangled names in JNI dlls and 
GCJ doesn't.
To get the DLL to build I added:
-D_JNI_IMPLEMENTATION_ -Wl,--kill-at
To my makefile when linking with mingw32.
I've put a demo app here: http://svf.dreamhost.com/gcj/swt-ogl.zip
And the fixed swt-opengl dll here, in case anyone wants to use it: 
http://svf.dreamhost.com/gcj/gl-win32.dll
The rest of SWT's experimental opengl implementation is here: 
http://dev.eclipse.org/viewcvs/index.cgi/platform-swt-home/opengl/opengl.html?rev=1.13
Took me several hours to get this working... being my first experience 
with JNI, hopefully no one else has to go through all the work :-)
Next to try to get this to work on linux...
- Sal
> I've been looking for a way to get GCJ and OpenGL to work together 
> under win32. I've tried different OpenGL libs with GCJ and had little 
> luck... jogl uses Swing stuff that chokes gcj, lwgl gives many 
> compile/link errors, but SWT's experimental OpenGL seems to almost work.
>> I had problems building SWT 3.0.1, recieved some 'Validation failed' 
> errors when I was compiling, but I managed to work around it by adding 
> the SWT source to my project directly. There seems to be some problem 
> with compiling SWT 3.0.1 from its .jar file. Also GCJ picked up some 
> errors in the SWT source that Sun's compiler must have missed (a 
> method was overridden with the wrong return value).
>> After that I tried to build the 'experimental' OpenGL library for 
> SWT. I had to build it from source also, recieved errors trying to 
> build it from the jar file.
> All seems to work fine with SWT and OpenGL, my test application 
> compiles and links. But when I run my application I get:
>> Exception in thread "main" java.lang.UnsatisfiedLinkError: gluPerspective
> at 0x00651ffe (Unknown Source)
> at 0x006519d2 (Unknown Source)
> at 0x00652944 (Unknown Source)
> [... repeat long traceback here...]
>> I've put the gl-win32.dll in the executable directory, along with the 
> SWT dll. I've also tried modifying my makefile to link with libglu32 
> & libopengl32 that come with mingw32. (using -llibglu32 etc.) But 
> continue to recieve the 'UnsatisfiedLinkError' at runtime. Can anyone 
> give some advice on this?
>> If anyone has been able to get an OpenGL implementation to work under 
> GCJ I would be interested in hearing about it, also!
>> Thanks much in advance,
>> - Sal



More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /