...although X11/Xlib.h is needed.
You've stuck your finger right on a sore spot.
tcltk is a *native MS windowing* port of tk (tcl is GUI-agnostic; tk is the important bit wrt display technology). The X11/Xlib.h file that cygwin's tk wants is NOT the one distributed by cygwin-xfree. Neither will tk work with the X11/Xlib.h file distributed with xpm-nox.
Both tk and xpm-nox have their own "fake" Xlib.h files -- xpm-nox ships it in /usr/local/xpm-nox/X11/xlib.h. cygwin's tk doesn't ship its version of that file at all.
Go here http://www.neuro.gatech.edu/users/cwilson/cygutils/testing/ and download tk-includes-8.4.tar.bz2
Unpack it somewhere so that you can explicitly use "-I /this/way/to/tk's/X11/Xlib.h" but be careful not to clobber the "real" X11/Xlib.h
-- Chuck
