6

I have never built a project in Ubuntu before and I am trying to come to grips with the GNU build tools and process.

When I try to make I get the glib.h - no such file or directory.

This is the output of pkg-config --cflags --libs glib-2.0

-I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include  -L/usr/lib/i386-linux-gnu -lglib-2.0 

I presume the above output are the compiler flags make uses?

Any ideas?

1
  • 1
    What software are you compiling - it may help us provide a more solid answer
    – Marco Ceppi
    Jun 14 '11 at 11:51
9

It appears that gcc can't find the glib.h which is a part of the libglib2.0-dev package. Make sure you've installed libgtk2.0-0-dev package (which depends on libglib2.0-dev) and try again.

2
  • I have libgtk2.0-dev installed.
    – SuperJumbo
    Jun 14 '11 at 2:33
  • 1
    emmm, I'm installed the libgtk2.0-0-dev library and not work, appear the message: glib-gprint.c:24:18: error fatal: glib.h: no such file or directory for any question I'm got xubuntu 11.10
    – matias
    Dec 9 '11 at 13:24
4

You need to tell make to use pkg-config to find out the compiler flags. Like so

CFLAGS = `pkg-config --cflags glib-2.0` 
LDLIBS = `pkg-config --libs glib-2.0`

make will execute pkg-config and use the output to fill in CFLAGS and LDLIBS

2
  • Perfectly explained, it worked for me. Nov 19 '16 at 1:52
  • How can i add this to cmake file i.e. CMakeLists.txt ? Sep 21 '20 at 14:52
3

You need to add pkg-config --cflags --libs glib-2.0 in make file. It should look like this:

gcc `pkg-config --cflags --libs glib-2.0` file.c
1
  • tried adding that to the beginning and end of my Makefile, got something like this (only line number changes) both times: Makefile:17: *** missing separator. Stop. Feb 1 '14 at 20:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.