Newbie: libProblem.a

Earnie Boyd earnie_boyd@yahoo.com
Tue May 2 08:23:00 GMT 2000


--- Bobak Csaba <h531649@sirius.cab.u-szeged.hu> wrote:
> Hi all!
> 
> After searching the archives I have to ask this:
> How do I compile my prg of two libs and an executable if one of the libs
> calls functions from the other one?
> Simplified case:
> 
> a.c:
> ...
> int foo_a(int x)
> {
>  return x+1;
> }
> ...
> 
> b.c:
> ...
> extern foo_a(int);
> ...
> int foo_b(int y)
> {
>  return foo_a(y-1);
> }
> ...
> 
> main.c:
> ...
> extern foo_b(int);
> ...
> cout<<foo_b(3);
> ...
> 
> What I tried:
> gcc -c a.c
> ar cq liba.a a.o
> ranlib liba.a
> gcc -c b.c
> ar cq libb.a b.o
> ranlib libb.a
> gcc -o main main.c -L. -la -lb
> 
> The last command gave an 'undefined' with foo_a
> What did I do wrong?
> 

You ordered you libs incorrectly.  Since b calls functions in a then you need
to `gcc -o main main.c -L. -lb -la'.


=====
---
   Earnie Boyd: < mailto:earnie_boyd@yahoo.com >
            __Cygwin: POSIX on Windows__
Cygwin Newbies: < http://www.freeyellow.com/members5/gw32/index.html >
           __Minimalist GNU for Windows__
  Mingw32 List: < http://www.egroups.com/group/mingw32/ >
    Mingw Home: < http://www.mingw.org/ >

__________________________________________________
Do You Yahoo!?
Send instant messages & get email alerts with Yahoo! Messenger.
http://im.yahoo.com/

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list