|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /usr/share/gtk-doc/html/glib/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Compiling GLib Applications</title> <meta name="generator" content="DocBook XSL Stylesheets V1.69.1"> <link rel="start" href="index.html" title="GLib Reference Manual"> <link rel="up" href="glib.html" title="GLib Overview"> <link rel="prev" href="glib-cross-compiling.html" title="Cross-compiling the GLib package"> <link rel="next" href="glib-running.html" title="Running GLib Applications"> <meta name="generator" content="GTK-Doc V1.6 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="chapter" href="glib.html" title="GLib Overview"> <link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals"> <link rel="chapter" href="glib-core.html" title="GLib Core Application Support"> <link rel="chapter" href="glib-utilities.html" title="GLib Utilities"> <link rel="chapter" href="glib-data-types.html" title="GLib Data Types"> <link rel="chapter" href="tools.html" title="GLib Tools"> <link rel="index" href="ix01.html" title="Index"> <link rel="index" href="ix02.html" title="Index of deprecated symbols"> <link rel="index" href="ix03.html" title="Index of new symbols in 2.2"> <link rel="index" href="ix04.html" title="Index of new symbols in 2.4"> <link rel="index" href="ix05.html" title="Index of new symbols in 2.6"> <link rel="index" href="ix06.html" title="Index of new symbols in 2.8"> <link rel="index" href="ix07.html" title="Index of new symbols in 2.10"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> <td><a accesskey="p" href="glib-cross-compiling.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="glib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <th width="100%" align="center">GLib Reference Manual</th> <td><a accesskey="n" href="glib-running.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> </tr></table> <div class="refentry" lang="en"> <a name="glib-compiling"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle">Compiling GLib Applications</span></h2> <p>Compiling GLib Applications — How to compile your GLib application </p> </td> <td valign="top" align="right"></td> </tr></table></div> <div class="refsect1" lang="en"> <a name="id3041633"></a><h2>Compiling GLib Applications on UNIX</h2> <p> To compile a GLib application, you need to tell the compiler where to find the GLib header files and libraries. This is done with the <span class="application">pkg-config</span> utility. </p> <p> The following interactive shell session demonstrates how <span class="application">pkg-config</span> is used (the actual output on your system may be different): </p> <pre class="programlisting"> $ pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include $ pkg-config --libs glib-2.0 -L/usr/lib -lm -lglib-2.0 </pre> <p> </p> <p> If your application uses threads or <span class="structname">GObject</span> features, it must be compiled and linked with the options returned by the following <span class="application">pkg-config</span> invocations: </p> <pre class="programlisting"> $ pkg-config --cflags --libs gthread-2.0 $ pkg-config --cflags --libs gobject-2.0 </pre> <p> </p> <p> If your application uses modules, it must be compiled and linked with the options returned by one of the following <span class="application">pkg-config</span> invocations: </p> <pre class="programlisting"> $ pkg-config --cflags --libs gmodule-no-export-2.0 $ pkg-config --cflags --libs gmodule-2.0 </pre> <p> The difference between the two is that gmodule-2.0 adds <code class="option">--export-dynamic</code> to the linker flags, which is often not needed. </p> <p> The simplest way to compile a program is to use the "backticks" feature of the shell. If you enclose a command in backticks (<span class="emphasis"><em>not single quotes</em></span>), then its output will be substituted into the command line before execution. So to compile a GLib Hello, World, you would type the following: </p> <pre class="programlisting"> $ cc `pkg-config --cflags --libs glib-2.0` hello.c -o hello </pre> <p> </p> </div> </div> </body> </html>