Blame README.win32

Packit 78284e
Building gtkmm on Win32
Packit 78284e
===========================
Packit 78284e
Packit 78284e
Currently, both the mingw (native win32) gcc compiler and MS Visual
Packit 78284e
Studio 2013 are supported. gtkmm can be built with mingw32-gcc using
Packit 78284e
the gnu autotools (automake, autoconf, libtool). As explicitly
Packit 78284e
stated in the gtk+ for win32 distribution (http://www.gimp.org/win32/),
Packit 78284e
the gcc compiler provided by the cygwin distribution should not be
Packit 78284e
used to build gtk+/gtkmm libraries and/or applications (see the
Packit 78284e
README.win32 that comes with the gtk+ DLLs). This MIGHT cause
Packit 78284e
conflicts between the cygwin and msvcrt runtime environments.
Packit 78284e
Packit 78284e
1. Mingw
Packit 78284e
Packit 78284e
The mingw distribution which has been tested with this release is the
Packit 78284e
following :
Packit 78284e
Packit 78284e
* MinGW-4.1 as the base distribution.
Packit 78284e
Packit 78284e
The bare mingw distribution does not provide the necessary tools (sh, perl, m4
Packit 78284e
, autoconf, automake, ..) to run the provided configure script "as is". One 
Packit 78284e
(currently non supported) solution is to use mingw in conjunction with msys,
Packit 78284e
which is readily available on the mingw website (http://www.mingw.org/).
Packit 78284e
Packit 78284e
The preferred method is to combine the cygwin distribution (for the unix tools
Packit 78284e
that were mentioned above) with mingw by making sure that the mingw
Packit 78284e
tools (gcc, ld, dlltool, ..) are called first.
Packit 78284e
Packit 78284e
First, make sure that you have working distribution of the native port
Packit 78284e
of both libsigc++-2.0.x and gtk+-2.0 on win32 (see
Packit 78284e
http://www.gimp.org/win32). If you can't compile a simple gtk+ example
Packit 78284e
using gcc and `pkg-config --cflags --libs`, you should not even think
Packit 78284e
about trying to compile gtkmm, let alone using precompiled libgtkmm
Packit 78284e
DLLs to port your gtkmm application !
Packit 78284e
Packit 78284e
The configure script can then be called using (as an example) the
Packit 78284e
following options
Packit 78284e
Packit 78284e
./configure --prefix=/target --build=i386-pc-mingw32 --disable-static
Packit 78284e
Packit 78284e
then
Packit 78284e
Packit 78284e
make
Packit 78284e
make check
Packit 78284e
make install
Packit 78284e
Packit 78284e
2. MS Visual Studio 2013
Packit 78284e
Packit 78284e
Open the pangomm.sln solution file in the MSVC_Net2013 directory. In
Packit 78284e
the Tools/Options panel, add the appropriate GTK+ and glibmm include
Packit 78284e
and lib directories to the Projects and Solutions/VC++ directories,
Packit 78284e
if they are not in the locations specified by the property sheets,
Packit 78284e
i.e. $(srcroot)\..\vs12\$(Platform). Build the solution.  The option
Packit 78284e
/vd2 should not be used in these builds, unlike previous builds, as
Packit 78284e
that would cause broken binaries to be built, causing crashes.
Packit 78284e
Packit 78284e
3. Gtkmm methods and signals not available on win32
Packit 78284e
Packit 78284e
All gtkmm methods and signals are available on win32.
Packit 78284e
Packit 78284e
4. Gtkmm examples and demos on win32
Packit 78284e
Packit 78284e
All demos and examples compile/run on win32
Packit 78284e