OpenGL linking problems

Jon TURNEY jon.turney@dronecode.org.uk
Wed Sep 8 14:00:00 GMT 2010


On 08/09/2010 13:53, David Doria wrote:
>> Oh, I guess you have a makefile generated by cmake? In which case you need
>> make VERBOSE=1 to get it to show you what it is doing.
>>
>
> Ok, now there is some useful output. I see an -lGL, what else should I
> be looking for?
>
> /usr/bin/c++.exe     -Wno-deprecated -mwin32
[list of .o files snipped]
> CMakeFiles/GraphicsCxxTests.dir/TestDecimatePolylineFilter.cxx.o  -o
> ../../../bin/GraphicsCxxTests.exe
> -Wl,--out-implib,../../../bin/libGraphicsCxxTests.dll.a
> -Wl,--major-image-version,0,--minor-image-version,0
> ../../../bin/libvtkRendering.a ../../../bin/libvtkIO.a -lGL -lGLU
> ../../../bin/libvtkDICOMParser.a ../../../bin/libvtkNetCDF_cxx.a
> ../../../bin/libvtkNetCDF.a ../../../bin/libvtkmetaio.a -lcomctl32
> ../../../bin/libvtksqlite.a ../../../bin/libvtkpng.a
> ../../../bin/libvtktiff.a ../../../bin/libvtkzlib.a
> ../../../bin/libvtkjpeg.a ../../../bin/libvtkexpat.a -lvfw32
> ../../../bin/libvtkGraphics.a ../../../bin/libvtkverdict.a
> ../../../bin/libvtkImaging.a ../../../bin/libvtkFiltering.a
> ../../../bin/libvtkCommon.a ../../../bin/libvtksys.a -lws2_32 -lm
> -lpthread -lwsock32 -lgdi32 ../../../bin/libvtkftgl.a
> ../../../bin/libvtkfreetype.a /usr/lib/w32api/libopengl32.a -lXt -lSM
> -lICE -lX11 -lXext

Oh my! That's very confused about if it's building a w32api or an X11 application.

At the very least, you should not be linking with /usr/lib/w32api/libopengl32.a.

comctl32, vfw32, gdi32, wsock32, ws2_32 also seem unlikely to be right.

> ../../../bin/libvtkftgl.a(FTGLPixmapFontRenderOpenGL.cpp.o):FTGLPixmapFontRenderOpenGL.cpp:(.text+0xe):
> undefined reference to `_glPushClientAttrib'
> ../../../bin/libvtkftgl.a(FTGLPixmapFontRenderOpenGL.cpp.o):FTGLPixmapFontRenderOpenGL.cpp:(.text+0x7d):
> undefined reference to `_glPopClientAttrib'
> ../../../bin/libvtkftgl.a(FTGLPixmapFontRenderOpenGL.cpp.o):FTGLPixmapFontRenderOpenGL.cpp:(.text+0x92):
> undefined reference to `_glPushClientAttrib'
> ../../../bin/libvtkftgl.a(FTGLPixmapFontRenderOpenGL.cpp.o):FTGLPixmapFontRenderOpenGL.cpp:(.text+0x101):
> undefined reference to `_glPopClientAttrib'
> collect2: ld returned 1 exit status

These symbols are provided by libGL, but you'll notice that libvtftgl.a comes 
after that on the command line you are using.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list