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