On 14.07.2010, at 01:25, Shane.Hill.dsto.defence.gov wrote: > G'day All, > > I just did a usual update to my Cygwin distribution and now I can't seem to > be able to link any of my Fltk code and the Fltk source itself. I have > compiled Fltk in the default mode, which uses the -mno-cygwin switch to use > the MinGW version of gcc. All the code seems to compile correctly, but during > the link stage I get the following error: > > $ make > === making src === > === making fluid === > Linking fluid.exe... > ./lib/libfltk.a(fl_dnd.o):fl_dnd.cxx:(.text$_ZN12FLDropTarget14QueryInterfaceERK5_GUIDPPv+0x16): > undefined reference to `_IID_IUnknown' > ./lib/libfltk.a(fl_dnd.o):fl_dnd.cxx:(.text$_ZN12FLDropTarget14QueryInterfaceERK5_GUIDPPv+0x2d): > undefined reference to `_IID_IDropTarget' > ./lib/libfltk.a(fl_dnd.o):fl_dnd.cxx:(.text$_ZN12FLDropSource14QueryInterfaceERK5_GUIDPPv+0x16): > undefined reference to `_IID_IUnknown' > ./lib/libfltk.a(fl_dnd.o):fl_dnd.cxx:(.text$_ZN12FLDropSource14QueryInterfaceERK5_GUIDPPv+0x2d): > undefined reference to `_IID_IDropSource' > ./lib/libfltk.a(fl_dnd.o):fl_dnd.cxx:(.text$_ZN12FLDataObject14QueryInterfaceERK5_GUIDPPv+0x16): > undefined reference to `_IID_IUnknown' > ./lib/libfltk.a(fl_dnd.o):fl_dnd.cxx:(.text$_ZN12FLDataObject14QueryInterfaceERK5_GUIDPPv+0x2d): > undefined reference to `_IID_IDataObject' > collect2: ld returned 1 exit status > make[1]: *** [fluid.exe] Error 1 > make: *** [all] Error 1 > > Most unusual. I have not found many references to these items on the web. Any > thoughts?
Please report this to the Cygwin mailing list. As Ian wrote already, the Cygwin folks decided to switch the FLTK mode to X11, and that pulled in additional X11 libs when you upgraded your Cygwin installation. There seems to be a Cygwin uuid lib that is in the default library search path *before* the Windows (MinGW) version, and thus you link to the wrong uuid lib. As I see it, the best way to use FLTK with Cygwin would be to deinstall the Cygwin FLTK package, find the package that includes the Cygwin uuid lib and remove that as well. Then, compile and link FLTK with the stock FLTK distribution from fltk.org. Note that you need to use gcc-3 with -mno-cygwin, since they (the Cygwin folks) also removed that option from gcc 4.x. There are rumors, however, that a "real cross compiler option" (for the MinGW compiler) should be coming, but I don't know if this is still a plan or if it is available already. Or, go the way of less resistance... use MinGW as you did already. Although I'm using Cygwin regularly, I'm "not amused" about the decisions they made. Albrecht _______________________________________________ fltk mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk

