This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: Newbie: libProblem.a
- To: Bobak Csaba <h531649 at sirius dot cab dot u-szeged dot hu>, cygwin at sourceware dot cygnus dot com
- Subject: Re: Newbie: libProblem.a
- From: Earnie Boyd <earnie_boyd at yahoo dot com>
- Date: Tue, 2 May 2000 08:23:35 -0700 (PDT)
- Reply-To: earnie_boyd at yahoo dot com
--- 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