a406e2a7dc
Otherwise Doxygen interprets each path component as its command and complains about "unknown \msw command" in "build\msw" path, for example.
83 lines
2.8 KiB
Markdown
83 lines
2.8 KiB
Markdown
Building wxGTK port with Win32 GDK backend {#plat_msw_gtk}
|
|
------------------------------------------
|
|
|
|
GTK+ widget toolkit has multiple GDK backends and one of them is Win32.
|
|
It is a wrapper around Windows API.
|
|
|
|
See http://www.gtk.org/download/win32.php
|
|
|
|
These notes don't consider building wxGTK with X11 backend under Windows.
|
|
|
|
Building steps:
|
|
|
|
1. wxGTK/Win32 build is similar to wxMSW one and you should have configured
|
|
and be able to build wxWidgets as described in @ref plat_msw_install
|
|
|
|
2. wxGTK/Win32 is disabled by default in wxWidgets, you need to enable it
|
|
in bakefiles manually. Apply following patch manually or using Cygwin:
|
|
|
|
patch -p0 < docs/msw/gtkfix.patch
|
|
|
|
Regenerate required make/project files:
|
|
|
|
cd build\bakefiles
|
|
bakefile_gen
|
|
|
|
3. Download GTK+ for Windows and uncompress files in the directory
|
|
without spaces in the name. We suppose later that GTK+/Win32 is
|
|
in the `C:\gtk` directory.
|
|
|
|
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+_2.24.10-1_win32.zip
|
|
|
|
4. Building
|
|
|
|
4.1 If you are using Visual C++ project files you need to setup GTK+ 2 include directories
|
|
|
|
C:\gtk\lib\include\gtk-2.0
|
|
C:\gtk\lib\include\glib-2.0
|
|
C:\gtk\lib\include\cairo
|
|
C:\gtk\lib\include\pango-1.0
|
|
C:\gtk\lib\include\gdk-pixbuf-2.0
|
|
C:\gtk\lib\include\atk-1.0
|
|
C:\gtk\lib\glib-2.0\include
|
|
C:\gtk\lib\gtk-2.0\include
|
|
|
|
and library directory
|
|
|
|
C:\gtk\lib\
|
|
|
|
See http://msdn.microsoft.com/en-us/library/t9az1d21(v=vs.90).aspx
|
|
|
|
Open solution file in `build\msw` directory, select "GTK+ Debug" solution
|
|
configuration and build the solution. To be sure that everything is as expected
|
|
you can build minimal sample.
|
|
|
|
GTK+ is linked to wxWidgets always as DLL, so `C:\gtk\bin` directory should be
|
|
in %PATH% environment variable before application run.
|
|
|
|
4.2 You can also build using nmake:
|
|
|
|
set INCLUDE=C:\gtk\lib\glib-2.0\include\;C:\gtk\lib\gtk-2.0\include\;C:\gtk\include\cairo\;C:\gtk\include\pango-1.0\;C:\gtk\include\gtk-2.0\;C:\gtk\include\glib-2.0\;C:\gtk\include\gdk-pixbuf-2.0\;C:\gtk\include\atk-1.0\;
|
|
set LIB=C:\gtk\lib\;
|
|
set PATH=C:\gtk\bin\;%PATH%;
|
|
|
|
nmake -f makefile.vc "TOOLKIT=GTK" "TOOLKIT_VERSION=2"
|
|
|
|
or with MinGW:
|
|
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\include\gtk-2.0
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\include\glib-2.0
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\include\cairo
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\include\pango-1.0
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\include\gdk-pixbuf-2.0
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\include\atk-1.0
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\lib\glib-2.0\include
|
|
set CXXFLAGS=%CXXFLAGS% -IC:\gtk\lib\gtk-2.0\include
|
|
set CFLAGS=%CXXFLAGS%
|
|
set LDFLAGS=%LDFLAGS% -LC:\gtk\lib
|
|
set PATH=C:\gtk\bin\;%PATH%;
|
|
|
|
mingw32-make -f makefile.gcc "TOOLKIT=GTK" "TOOLKIT_VERSION=2"
|
|
|
|
5. Now you can use wxGTK/Win32 as wxMSW in your applications.
|