2011-10-21 18 views
7

Estoy usando Eclipse CDT para desarrollar un software C. Me gustaría usar glib, pero siempre informa "Inclusión no resuelta:". He instalado en mi ubuntu simplista:¿Cómo configurar glib en Makefile?

[email protected]:~$ dpkg -l | grep libglib 
ii libglib-perl       2:1.223-1   
ii libglib2.0-0       2.28.6-0ubuntu1  
ii libglib2.0-bin      2.28.6-0ubuntu1  
ii libglib2.0-cil      2.12.10-1ubuntu1  
ii libglib2.0-data      2.28.6-0ubuntu1   
ii libglib2.0-dev      2.28.6-0ubuntu1  
ii libglib2.0-doc      2.28.6-0ubuntu1  
ii libglibmm-2.4-1c2a     2.28.0-1     

Soy un estudiante de primer año a C. Aunque he encontrado algunas sugerencias:

% gcc test.c -Wall -o test `pkg-config --cflags --libs glib-2.0` 

Pero no sé cómo hacer que funcione a través de mi Makefile:

CC=   gcc 
CXX=  g++ 
CFLAGS=  -ggdb -g -Wall -O2 
CXXFLAGS= $(CFLAGS) 
DFLAGS=  -DHAVE_PTHREAD #-D_FILE_OFFSET_BITS=64 
OBJS=  rand.o 
PROG=  peta 
INCLUDES= 
LIBS=  -lm -lz -lpthread -Lbwt_gen -lbwtgen 
SUBDIRS= . bwt_gen 

.SUFFIXES:.c .o .cc 

.c.o: 
     $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o [email protected] 
.cc.o: 
     $(CXX) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $< -o [email protected] 

all:$(PROG) 

lib-recur all-recur clean-recur cleanlocal-recur install-recur: 
     @target=`echo [email protected] | sed s/-recur//`; \ 
     wdir=`pwd`; \ 
     list='$(SUBDIRS)'; for subdir in $$list; do \ 
      cd $$subdir; \ 
      $(MAKE) CC="$(CC)" CXX="$(CXX)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \ 
       INCLUDES="$(INCLUDES)" $$target || exit 1; \ 
      cd $$wdir; \ 
     done; 

lib: 

peta:lib-recur $(OBJS) main.o 
     $(CC) $(CFLAGS) $(DFLAGS) $(OBJS) main.o -o [email protected] $(LIBS) 

cleanlocal: 
     rm -f gmon.out *.o a.out $(PROG) *~ *.a 

clean:cleanlocal-recur 

¿Alguien podría ayudarme? Gracias.

+0

el error del compilador sería útil – aditya

Respuesta

23

Anexar esto al final de su directiva LIBS:

$(shell pkg-config --libs glib-2.0) 

Y esto a sus CXXFLAGS y CFLAGS:

$(shell pkg-config --cflags glib-2.0) 

Esto va a hacer el trabajo.

+0

Funciona. Muchas gracias. – Joy