[GtkGLExt] Problems getting gtkglext to work under Cygwin



I have an application that uses OpenGL, GTK+, and GtkGLext that currently compiles and runs under Linux. Several of my co-workers would like to use it under Windows. I am now attempting to get a version that runs under Windows. I would like to use the Cygwin environment to create/compile the Windows executable. I want it to use the Windows API, that is I don't want to require the Cygwin Xserver. Also, if possible I would like it to not depend upon the cygwin1.dll.

It's been a while since I have used Cygwin much. So I just installed the latest packages. I didn't find and GTK+ packages at the standard mirros sites but found atk, glib, pango, and gtk+ packages at http://web.sfc.keio.ac.jp/~s01397ms/cygwin and installed those.

I have been able to compile and run the standard OpenGL Redbook examples. Also, I have been able to compile and run some of the gtk-tutorial examples using `pkg-config --cflags --libs gtk+-win32-2.0` on the compile line (also without the win32 under the Xserver) (although if I compile with -mno-cygwin and run the executable I get a runtime error).

Next, I tried compiling GtkGLext under Cygwin. I just did a ./configure followed by a make and a make install. (I had 2 slight problems during the make. I'll elaborate more if requested but I don't think they are related to my current problem). However, I did have several warnings that may be related as shown below:

*** Warning: linker path does not have real file for library -lglu32.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libglu32 and none of the candidates passed a file format test
*** using a file magic. Last file checked: /lib/w32api/libglu32.a

*** Warning: This system can not link to static lib archive ../gdk/libgdkglext-w
in32-1.0.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: `/lib/libpangox-1.0.la' seems to be moved

I received several of the warnings for -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 -lX11 but don't know if they are significant.

Ok, finally, I then attempted to compile the simple.c example in GtkGLext. (I added /usr/local/lib/pkgconfig to PKG_CONFIG_PATH). I tried compiling with "gcc -o simple simple.c `pkgconfig --cflags --libs gtkglext-win32-1.0`" I receive several undefined references errors for _glFinish, _glDrawBuffer, _glReadBuffer etc, from /usr/local/lib/libgdkglext-win32-1.0.a

I have also tried downloading the gtkglext-win32-1.0.5.zip file from sourceforge which I thought would be a precompiled version that I could use under Cygwin. Unzipped the files in /usr/local. I then try compiling siimple.c. It compiled with no errors. However when I tried executing it I get an error that it was unable to located libgdk-win32-2.0-0.dll. There is a libgdk-win32-2.0.dll.a under /lib but it doesn't seem to work.

Can somebody where I am going wrong and what I need to do?






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]