g++ trouble linking against archive

exits funnel <[email protected]> Tue, 4 Jan 2005 20:17:50 -0800 (PST)
Newsgroups gmane.linux.redhat.devel
Message-ID <[email protected]>
Hello,

I've got the following simple source files:

//Begin fun1.cpp
#include <iostream.h>
void fun1( ) { cout << "Exits in fun1( )\n"; }
//End fun1.cpp

//Begin fun2.cpp
#include <iostream.h>
void fun2( ) { cout << "Exits in fun2( )\n"; }
//End fun2.cpp

//Begin funmain.cpp
#include <iostream.h>
void fun1( );
int main( )
{
cout << "about to call fun1( )\n";
fun1( );
cout << "just called fun1( )\n";
return 0;
}
//End funmain.cpp

all of the source files are in the directory
/home/exits/moment/cpptest. I compile the two
functions like this:

g++ -c fun1.cpp
g++ -c fun2.cpp

I then archive the two resulting object files like
this:

ar -cr libfun.a fun1.o fun2.o

So far so good (I think) i've not got my library
containing the two functions. I can't seem to figure
out though how to link my main method agains the
archive. It seems this should work:

g++ -o fun -L/home/exits/moment/cpptest -lfun
funmain.cpp

but it doesn't instead g++ complains about an
undefined reference to fun1( ). If I just pop the .o
file on the command line when I compile/link main
everything is fine but I really need to get the
library stuff working. If anyone could point out what
I've done wrong, I'd really appreciate it. Thanks in
advance!

-exits


	
		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - You care about security. So do we. 
http://promotions.yahoo.com/new_mail