manpagez: man pages & more
info gnutls
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1.5 Building the Source

If you want to compile a source file including the ‘gnutls/gnutls.h’ header file, you must make sure that the compiler can find it in the directory hierarchy. This is accomplished by adding the path to the directory in which the header file is located to the compilers include file search path (via the ‘-I’ option).

However, the path to the include file is determined at the time the source is configured. To solve this problem, the library uses the external package pkg-config that knows the path to the include file and other configuration options. The options that need to be added to the compiler invocation at compile time are output by the ‘--cflags’ option to pkg-config libgnutls. The following example shows how it can be used at the command line:

 
gcc -c foo.c `pkg-config libgnutls --cflags`

Adding the output of ‘pkg-config libgnutls --cflags’ to the compilers command line will ensure that the compiler can find the ‘gnutls/gnutls.h’ header file.

A similar problem occurs when linking the program with the library. Again, the compiler has to find the library files. For this to work, the path to the library files has to be added to the library search path (via the ‘-L’ option). For this, the option ‘--libs’ to pkg-config libgnutls can be used. For convenience, this option also outputs all other options that are required to link the program with the libarary (for instance, the ‘-ltasn1’ option). The example shows how to link ‘foo.o’ with the library to a program foo.

 
gcc -o foo foo.o `pkg-config libgnutls --libs`

Of course you can also combine both examples to a single command by specifying both options to pkg-config:

 
gcc -o foo foo.c `pkg-config libgnutls --cflags --libs`

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.