[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC compiler



Le dimanche 29 avril 2007 04:56, Micha Feigin a écrit :
> On Sat, 28 Apr 2007 22:20:08 -0300
>
> "Iuri Sampaio" <iuri.sampaio@gmail.com> wrote:
> > Hi,
> >
> >
> >
> > I tried to compile a C source code, using make command:
> >
> >
> >
> > The Makefile script is:
> >
> >
> >
> > BINDIR = ./
> >
> > LIBDIR = /foo/im/lib/Linux24
> >
> > INCLUDE = /foo/im/include
> >
> >
> >
> > CC = gcc
> >
> > CFLAGS = -g -I$(INCLUDE)
> >
> > LIBS = $(LIBDIR)/libim.a $(LIBDIR)/libim.so \
> >         -lm -L/usr/X11R6/lib -lX11
>
> You are linking against libim twice, once static and once dynamic, what you
> may mean is
>
> LIBS = -L$(LIBDIR) -lim -lm -L/usr/X11R6/lib -lX11
>
> > OBJS = rotation.c
> >
> > BIN = rotation
> >
> >
> >
> > $(BIN): $(OBJS)
> >
> >             $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LIBS)
> >

Not really an answer, but this is wrong too, you should have something like 
this instead:

OBJS = rotation.o

BIN = rotation

$(BIN): $(OBJS)
	$(CC) -o $@ $^ $(LIBS)

%.o: %.c
	$(CC) -c -o $@ $< $(CFLAGS)

but with only one source file it doesn't really matter

> >
> >
> > install: $(BIN)
> >
> >             mv $(BIN) $(BINDIR)
> >
> >
> >
> > clean:
> >
> >             rm -f $(BIN) *.o *~
> >
> >
> >
> >
> >
> >
> >
> > but then I got this error message when I run make
> >
> >
> >
> > iuri@server1:~/mat056/AULA28.03.07$ make
> >
> > gcc -g -I../im2_6_linux24/im/include/ -o quantizacao quantizacao.c
> > ../im2_6_Linux24/im/lib/Linux24/libim.a
> > ../im2_6_Linux24/im/lib/Linux24/libim.so -lm -L/u\
> >
> > sr/X11R6/lib -lX11
> >
> > quantizacao.c:1:16: error: im.h: No such file or directory
> >
> > quantizacao.c: In function 'main':
> >
> > quantizacao.c:12: warning: incompatible implicit declaration of built-in
> > function 'malloc'
>
> Seems like you are not including stdlib.h so malloc is not defined
>
> > quantizacao.c:22: error: 'IM_TIF' undeclared (first use in this function)
> >
> > quantizacao.c:22: error: (Each undeclared identifier is reported only
> > once
> >
> > quantizacao.c:22: error: for each function it appears in.)
> >
> > make: *** [quantizacao] Error 1

Strange! What is this quantizacao file ? It doesn't appear in the makefile.

> >
> > HYPERLINK
> > "mailto:iuri@server1:~/mat056/AULA28.03.07$"iuri@server1:~/mat056/AULA28.
> >03. 07$
> >
> > I can see it’s missing the im.h of my gcc lib. Does anyone know how to
> > solve this problem? Even apt-get any lib that has im.h?
>
> what is im.h supposed to be a part of? If you don't know, than where did
> you get the code and what's its intent?

Good question ;) Maybe are you looking for libimlib ? (an image manipulation 
lib, replacement for libxpm)

>
> There is no debian package that contains im.h or libim.a or libim.so
> Only reference I found is national language support for AIX which is a
> proprietary UNIX by IBM
>
> > Regards,
> >
> > iuri sampaio

-- 
Cédric Lucantis



Reply to: