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 Jun 14, 2011 at 11:51

3 Answers 3

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, 2011 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, 2011 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, 2016 at 1:52
  • How can i add this to cmake file i.e. CMakeLists.txt ? Sep 21, 2020 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, 2014 at 20:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .