gtkmm on VisualStudio .NET 2003
===============================

This directory include project files for VisualStudio .NET 2003.
There are two targets available, Debug and Release. The code
generation is done for Multithread DLL.


Requirements:

1. All gtk+ related libraries from
   http://www.gimp.org/~tml/gimp/win32/downloads.html

   - GNU libiconv
   - GNU gettext runtime for Win32, 
   - zlib, libpng, libjpeg, libtiff, FreeType2
     binaries + developer packages
   - glib runtime + developer package
   - atk runtime + developer package
   - pango runtime + developer package
   - gtk+ runtime + developer package
   - pkgconfig
   - dirent.zip

2. Extract all this to one directory,
   for example /Programs/GnuWin32

3. Create a global environment variable GNUWIN32
   that point to this directory

4. Add $(GNUWIN32)/bin to $PATH

5. Get mingw and msys from http://www.mingw.org/;
   install it

6. Get libsigc++ 1.2.x source package, extract and
   ./configure --prefix=$(GNUWIN32) && make && make install
   Compile now with VisualStudio .NET and copy the
   sigc-1.2.lib to $(GNUWIN32)/lib

   Note: mingw/msys is used to correctly generate,
	 compile and install the header files

7. Do the same for the gtkmm source:
   ./configure --prefix=$(GNUWIN32) && make && make install

8. Open the gtkmm.sln with VisualStudio .NET
   and build the solution

9. Copy the atkmm.lib, gdkmm.lib, glibmm.lib, gtkmm.lib
   and pangomm.lib libs compiled from VisualStudio in
   $(GNUWIN32)/lib

Then you can easily use gtkmm in your own projects:

- additional include paths (cut & paste to the C++ properties)

"$(GNUWIN32)\include";"$(GNUWIN32)\include\gtkmm-2.0";"$(GNUWIN32)\include\sigc++-1.2";"$(GNUWIN32)\include\glib-2.0";"$(GNUWIN32)\include\pango-1.0";"$(GNUWIN32)\include\atk-1.0";"$(GNUWIN32)\include\gtk-2.0";"$(GNUWIN32)\include\freetype2";"$(GNUWIN32)\lib\gtkmm-2.0\include";"$(GNUWIN32)\lib\sigc++-1.2\include";"$(GNUWIN32)\lib\gtk-2.0\include";"$(GNUWIN32)\lib\glib-2.0\include"

- additional lib path:

$(GNUWIN32)/lib

- additional libraries to link:

gtkmm.lib
gdkmm.lib
glibmm.lib
atkmm.lib
pangomm.lib
sigc-1.2.lib
atk-1.0.lib
gdk_pixbuf-2.0.lib
gdk-win32-2.0.lib
glib-2.0.lib
gmodule-2.0.lib
gobject-2.0.lib
gthread-2.0.lib
gtk-win32-2.0.lib
iconv.lib
intl.lib
libjpeg.lib
libpng.lib
libtiff.lib
libz.lib
pango-1.0.lib
pangoft2-1.0.lib
pangowin32-1.0.lib
winmm.lib

- and ignore the following libraries:

MSVCRTD.lib, MSVCRT.lib
 

Limitations:

- at the moment only static libraries are supported
  it's not so bad in general, the code size is normally
  much smaller as with the gcc [my experience]


Known problems:

- Gtk::TreeView::append_column_editable can't be used,
  the C++ compiler fail to find something in the template
  instanciation


Todo:

- fix the Gtk::TreeView::append_column_editable bug
- create project wizard for project defaults
  (includes, libs, simple main)
- create installer???
- create project files for the examples???


Contact:

Frank Naumann <fnaumann@freemint.de>
