Tor Lillqvist (tml)
GTK+ Pages --
Windows port
|
This page
The significance of this page is currently much less than what has
earlier been the case. Especially if you are an end-user there isn't
anything for you here.
Is this the official home for GTK+ on Windows?
Where are the GTK+ binaries?
No. At the GTK+ site.
Where is GIMP?
There are GIMP installers for Windows (that include GTK+) and a FAQ
at gimp-win.sourceforge.net.
The installers are created by Jernej Simoncic.
What about GNOME then?
Browse around at http://ftp.gnome.org/pub/gnome/binaries/win32/. There
used to be a more detailled list here, but just follow that link and
have a look.
Various stuff not linked to from the GTK+ site
The links below are to packages that are used mainly by GIMP, and
thus not listed on the GTK+ site.
xpm-nox-4.0.3-20020617.zip
A version of the Xpm library that does not use X. Used by the
xpm plug-in in GIMP.
xpm-nox-dev-4.0.3-20020112.zip,
corresponding developer package.
libart_lgpl-2.3.17.zip. Libart
binary (DLL). Libart is used by GIMP. libart_lgpl-dev-2.3.17.zip.
Developer package.
libart_lgpl-2.3.17.tar.gz.
Libart sources.
libexif-0.6.16.zip. Libexif
binary (libexif-12.dll). Libexif is used by the jpeg plug-in
in GIMP. libexif-dev-0.6.16.zip.
Developer package. Libexif home
page, with sources.
libxml2 (Windows binaries provided by Igor Zlatkovic).
GIMP contains a display filter module for colour
proofing. It uses the lcms (Little CMS) library. Here is lcms-runtime-1.11.zip, the
lcms DLL. Built with libtool and mingw (gcc). Unlike the DLL
from the
Little CMS site, this actually works with GIMP's
color proof display module. (I don't know what the exact
problems with the DLL from the Little CMS site is, but it
caused crashes for me.) lcms-dev-1.11.zip is the
corresponding developer package.
lcms-1.11.tar.gz.
Little CMS sources (not on this site).
The wmf plug-in in GIMP uses the libwmf
library. Unfortunately, there is no official Windows
binary distribution of libwmf, and libwmf requires some fixes
to work properly in Windows (mainly, installation location
independence). Here are libwmf 0.2.8.1
(patched) runtime, corresponding
developer package, and sources.
poppler-0.6.4.zip,
poppler-dev-0.6.4.zip,
and poppler-data-0.1.1.zip. The
poppler library, used by GIMP's poppler plug-in that handles
loading of pages from PDF files.
GIMP plugin development package
PSPI
pspi is a GIMP plug-in that runs Photoshop plug-ins (.8bf files). See
separate page.
Very obsolete versions
gtk+-1.3.0-20040315.zip
. GTK+ 1.3.0 runtime package. This is the
gtk-1-3-win32-production branch of GTK+. The GTK+ version is
1.3.0, which is quite old. The GTK+ API was still mostly like
GTK+ 1.2.7, which is what was current when this branch was
created. Unfortunately, very few of the platform-independent
fixes (in the gtk widgets) that went into GTK+ 1.2 since 1.2.7
are present. Unlike GTK+ 1.2 on Unix, GTK+ 1.3.0 on Windows
is built to use GLib 2.x. There is no binary distribution of
any GLib 1.2 for Windows.
gtk+-dev-1.3.0-20030115.zip.
Corresponding developer package. (How can it be so much older
than the runtime package, you ask? Because the API or ABI does
not change, there is no change to headers or import
libraries.)
The source for this GTK+ version is in gtk+-1.3.0-20040315-src.zip.
There is no other distribution of the source to this GTK+
branch. You can get it from GNOME SVN, though, look for
the gtk-1-3-win32-production branch of
the gtk+ module.
pkg-config
pkg-config is a replacement for the glib-config and gtk-config
scripts that long ago were used on Unix. (No such scripts were ever
distributed with my Windows port, though.)
You can use the pkg-config command in your makefiles like this:
GLIB_CFLAGS=`pkg-config --cflags glib-2.0`
GLIB_LIBS=`pkg-config --libs glib-2.0`
...
foobar.exe : $(FOOBAR_OBJS)
$(CC) -o $@ $(FOOBAR_OBJS) $(GLIB_LIBS)
Etc. That only works with a Unixish Make and especially with a
command interpreter (shell) that understands backquotes. (I hope you
notice those backquotes in the above Makefile snippet, and understand
what they mean. If you don't, educate yourself.)
I advise not to use a folder with spaces or other funny
character in the name as top. Otherwise you will get problems
when using pkg-config output in makefiles.
If you are a MSVC user and use nmake, it's a bit more
complicated. nmake (or the standard Windows command interpreter it
uses, command.com or cmd.exe) doesn't support backquotes. You must run
pkg-config manually with the switch --msvc-syntax, and paste
its output into your nmake makefile.
On NT/2k/XP, it is possible to have nmake create temporary files
containing the output from pkg-config, and use those in a nmake
makefile like this:
foobar.exe: foobar.obj __gtk_libs.mak
cl -MD foobar.obj @__gtk_libs.mak
@del __gtk_libs.mak
foobar.obj: foobar.c __gtk_cflags.mak
cl -MD -c @__gtk_cflags.mak foobar.c
@del __gtk_cflags.mak
__gtk_cflags.mak:
pkg-config --msvc-syntax --cflags gtk+-2.0 >$@
__gtk_libs.mak:
for /F "delims==" %i in ('pkg-config --msvc-syntax --libs gtk+-2.0') \
do echo /link %i >$@
Note in the above makefile fragment that the
__gtk_libs.mak file is created using the for /F
syntax available only in the cmd.exe command interpreter on
NT/2k/XP. These obscure acrobatics are needed because we want
__gtk_libs.mak to contain a line that starts with
/link, but pkg-config cannot output the /link flag
itself as a cl command line might contain several invokations of
pkg-config --libs. We cannot put the /link on the cl command
line that links foobar.exe either, as cl then gets confused
and runs the linker with a command file that on one line has
@__gtk_libs.mak, and link.exe doesn't like that. Sigh.
|