]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/compiling.sgml
Mention xxx_DISABLE_DEPRECATED and GDK_MULTIHEAD_SAFE.
[~andy/gtk] / docs / reference / gtk / compiling.sgml
1 <refentry id="gtk-compiling" revision="4 Feb 2001">
2 <refmeta>
3 <refentrytitle>Compiling GTK+ Applications</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GTK Library</refmiscinfo>
6 </refmeta>
7
8 <refnamediv>
9 <refname>Compiling GTK+ Applications</refname>
10 <refpurpose>
11 How to compile your GTK+ application
12 </refpurpose>
13 </refnamediv>
14
15 <refsect1>
16 <title>Compiling GTK+ Applications on UNIX</title>
17
18 <para>
19 To compile a GTK+ application, you need to tell the compiler where to 
20 find the GTK+ header files and libraries. This is done with the
21 <literal>pkg-config</literal> utility.
22 </para>
23 <para>
24 The following interactive shell session demonstrates how
25 <literal>pkg-config</literal> is used:
26 <programlisting>
27 $ pkg-config --cflags gtk+-2.0
28  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/atk-1.0  
29 $ pkg-config --libs gtk+-2.0
30  -L/usr/lib -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXi -lgdk_pixbuf-2.0 -lm -lpangox -lpangoxft -lXft -lXrender -lXext -lX11 -lfreetype -lpango -latk -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  
31 </programlisting>
32 </para>
33 <para>
34 The simplest way to compile a program is to use the "backticks"
35 feature of the shell. If you enclose a command in backticks
36 (<emphasis>not single quotes</emphasis>), then its output will be
37 substituted into the command line before execution. So to compile 
38 a GTK+ Hello, World, you would type the following:
39 <programlisting>
40 $ cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
41 </programlisting>
42 </para>
43
44 <para>
45 To compile a GTK+ program for the framebuffer, use the
46 "gtk+-linux-fb-2.0" package name instead of "gtk+-2.0":
47 <programlisting>
48 $ cc `pkg-config --cflags --libs gtk+-linux-fb-2.0` hello.c -o hello
49 </programlisting>
50 </para>
51
52 <para>
53 If you want to make sure that your program doesn't use any deprecated 
54 functions, you can define the preprocessor symbol GTK_DISABLE_DEPRECATED
55 by using the command line option <literal>-DGTK_DISABLE_DEPRECATED=1</literal>.
56 There are similar symbols GDK_DISABLE_DEPRECATED, 
57 GDK_PIXBUF_DISABLE_DEPRECATED and G_DISABLE_DEPRECATED for GDK, GdkPixbuf and
58 GLib. 
59 </para>
60
61 <para>
62 If you want to make sure that your program doesn't use any functions which 
63 may be problematic in a multihead setting, you can define the preprocessor
64 symbol GDK_MULTIHEAD_SAFE by using the command line option 
65 <literal>-DGTK_MULTIHEAD_SAFE=1</literal>.
66 </para>
67
68 </refsect1>
69 </refentry>
70
71
72
73