On Sat, 5 Mar 2011, Allin Cottrell wrote:

> On Sat, 5 Mar 2011, Craig Bakalian wrote:
>
> > > So are the libraries actually there?
> > >
> > > ls -al /usr/lib/libgtk-x11-2.0*
> > >
> > > There should be a symlink, something like
> > >
> > > /usr/lib/libgtk-x11-2.0.so -> libgtk-x11-2.0.so.0.2000.1
> >
> > This is what I get.  It looks okay to me.
> >
> > ls -al /usr/lib/libgtk-x11-2.0*
> > -rw-r--r-- 1 root root 6606378 2011-02-23 01:24 /usr/lib/libgtk-x11-2.0.a
> > -rw-r--r-- 1 root root     988 2011-02-23 01:24 /usr/lib/libgtk-x11-2.0.la
> > lrwxrwxrwx 1 root root      26 2011-03-05 06:23 /usr/lib/libgtk-x11-2.0.so 
> > -> libgtk-x11-2.0.so.0.2400.1
> > lrwxrwxrwx 1 root root      26 2011-03-05 06:23 
> > /usr/lib/libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.2400.1
> > -rw-r--r-- 1 root root 4023088 2011-02-23 01:24 
> > /usr/lib/libgtk-x11-2.0.so.0.2400.1
>
> Yep, looks OK. So now it's time to reconsider your scatter-gun
> approach to use of pkg-config. Correct compilation of a
> single-source C program looks like this:
>
> $(CC) $(CFLAGS) -o $(TARGET) $(SOURCE) $(LIBS)
>
> The $(LIBS) directive should trail the rest of the command, so
> that the linker knows what's required from the libraries. So set
> yourself up a proper Makefile. Here's a rough pattern, supposing
> you want to compile a GTK-based executable named "foo" from C
> source "foo.c":
>
> CC = gcc -g -O2 -Wall # or to taste
> CFLAGS = `pkg-config --cflags gtk+-2.0`
> LIBS = `pkg-config --libs gtk+-2.0`
>
> foo: foo.c
>       $(CC) $(CFLAGS) -o @$ $< $(LIBS)

Oops, that should be:

       $(CC) $(CFLAGS) -o $@ $< $(LIBS)

'$' and '@' were transposed for the target.

Allin Cottrell


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to