2011-10-21 20 views
7

Sto utilizzando Eclipse CDT per sviluppare un software C. Vorrei usare glib, ma riporta sempre "Inclusione non risolta:". Ho installato loquace sul mio ubuntu:Come configurare glib in 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     

Sono una matricola a C. Anche se ho trovato alcuni suggerimenti:

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

Ma io non so come farlo funzionare attraverso il mio 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 

Qualcuno potrebbe aiutarmi? Grazie.

+0

l'errore del compilatore sarebbe utile – aditya

risposta

23

Append questo alla fine della vostra direttiva LIBS:

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

E questo ai vostri CXXFLAGS e CFLAGS:

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

Questo farà il lavoro.

+0

Funziona. Molte grazie. – Joy