Blame README.win32

Packit 371ed6
Building gtkmm on Win32
Packit 371ed6
===========================
Packit 371ed6
Packit 371ed6
Currently, both the mingw (native win32) gcc compiler and MS Visual
Packit 371ed6
Studio 2005 are supported. gtkmm can be built with mingw32-gcc using
Packit 371ed6
the gnu autotools (automake, autoconf, libtool). As explicitly
Packit 371ed6
stated in the gtk+ for win32 distribution (http://www.gimp.org/win32/),
Packit 371ed6
the gcc compiler provided by the cygwin distribution should not be
Packit 371ed6
used to build gtk+/gtkmm libraries and/or applications (see the
Packit 371ed6
README.win32 that comes with the gtk+ DLLs). This MIGHT cause
Packit 371ed6
conflicts between the cygwin and msvcrt runtime environments.
Packit 371ed6
Packit 371ed6
1. Mingw
Packit 371ed6
Packit 371ed6
The mingw distribution which has been tested with this release is the
Packit 371ed6
following :
Packit 371ed6
Packit 371ed6
* MinGW-4.1 as the base distribution.
Packit 371ed6
Packit 371ed6
The bare mingw distribution does not provide the necessary tools (sh, perl, m4
Packit 371ed6
, autoconf, automake, ..) to run the provided configure script "as is". One 
Packit 371ed6
(currently non supported) solution is to use mingw in conjunction with msys,
Packit 371ed6
which is readily available on the mingw website (http://www.mingw.org/).
Packit 371ed6
Packit 371ed6
The preferred method is to combine the cygwin distribution (for the unix tools
Packit 371ed6
that were mentioned above) with mingw by making sure that the mingw
Packit 371ed6
tools (gcc, ld, dlltool, ..) are called first.
Packit 371ed6
Packit 371ed6
First, make sure that you have working distribution of the native port
Packit 371ed6
of both libsigc++-2.0.x and gtk+-2.0 on win32 (see
Packit 371ed6
http://www.gimp.org/win32). If you can't compile a simple gtk+ example
Packit 371ed6
using gcc and `pkg-config --cflags --libs`, you should not even think
Packit 371ed6
about trying to compile gtkmm, let alone using precompiled libgtkmm
Packit 371ed6
DLLs to port your gtkmm application !
Packit 371ed6
Packit 371ed6
The configure script can then be called using (as an example) the
Packit 371ed6
following options
Packit 371ed6
Packit 371ed6
./configure --prefix=/target --build=i386-pc-mingw32 --disable-static
Packit 371ed6
Packit 371ed6
then
Packit 371ed6
Packit 371ed6
make
Packit 371ed6
make check
Packit 371ed6
make install
Packit 371ed6
Packit 371ed6
2. MS Visual Studio 2005
Packit 371ed6
Packit 371ed6
Open the gtkmm.sln solution file in the MSVC_Net2003 directory. In
Packit 371ed6
the Tools/Options panel, add the appropriate GTK+, glibmm include and lib
Packit 371ed6
directories to the Projects and Solutions/VC++ directories. Build the
Packit 371ed6
solution. 
Packit 371ed6
Packit 371ed6
Important NOTE : to circumvent the C++ compiler bug described in this
Packit 371ed6
bugzilla entry (http://bugzilla.gnome.org/show_bug.cgi?id=158040), it
Packit 371ed6
is necessary to add '/vd2' to the list of compiler options when
Packit 371ed6
building and/or using gtkmm with Visual Studio 2005. 
Packit 371ed6
Packit 371ed6
gtkmm-2.8 will probably not work correctly with Visual Studio 7.1 or
Packit 371ed6
below because of the aforementioned bug.
Packit 371ed6
Packit 371ed6
3. Gtkmm methods and signals not available on win32
Packit 371ed6
Packit 371ed6
All gtkmm methods and signals are available on win32.
Packit 371ed6
Packit 371ed6
4. Gtkmm examples and demos on win32
Packit 371ed6
Packit 371ed6
All demos and examples compile/run on win32
Packit 371ed6