|
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 |
|