gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

C/C++ > Making Libraries

#15553 - dagamer34 - Sat Jan 24, 2004 8:03 pm

How would I go about making a ".a" library? I want to cut down on compile time and make it easier to redistribute to newbies.
_________________
Little kids and Playstation 2's don't mix. :(

#15556 - tepples - Sat Jan 24, 2004 8:25 pm

Here's the info page for GNU ar.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#15558 - dagamer34 - Sat Jan 24, 2004 9:16 pm

Maybe you can show me an example of it, please?
_________________
Little kids and Playstation 2's don't mix. :(

#15561 - dagamer34 - Sun Jan 25, 2004 12:30 am

I have tried to do it myself and get this error
"libgba.a: could not read symbols: Archive has no index; run ranlib to add one"

And have already tried running randlib on it.

Here is what I used to make it:

"ar rvs libgba.a asmfunct.o gbafunc.o gbawin.o gbaregs.o gbavideo.o gbatime.o

gbasprite.o gbadma.o gbasaving.o gbamosaic.o gbabg.o gbakeys.o gbablend.o

gbainterupt.o gbatext.o gbamulti.o gbasound.o gbapalette.o gbamath.o

gbagraphics.o

pause"

What's wrong?
_________________
Little kids and Playstation 2's don't mix. :(

#15567 - Paul Shirley - Sun Jan 25, 2004 2:55 am

removed

Last edited by Paul Shirley on Sun Mar 28, 2004 9:18 pm; edited 1 time in total

#15568 - dagamer34 - Sun Jan 25, 2004 3:00 am

No difference. Still the same thing.
_________________
Little kids and Playstation 2's don't mix. :(

#15570 - Paul Shirley - Sun Jan 25, 2004 3:27 am

removed

Last edited by Paul Shirley on Sun Mar 28, 2004 9:19 pm; edited 1 time in total

#15571 - dagamer34 - Sun Jan 25, 2004 3:36 am

It still did not work.

Hey, maybe someone can just make an example for me to use and *copy* learn from instead of me pulling out my hair.

Thanks for trying though.
_________________
Little kids and Playstation 2's don't mix. :(

#15572 - dagamer34 - Sun Jan 25, 2004 4:42 am

I finally created a library file. Now, I need to know how the headers should be set up. Do I need to change them? I am using C++ is that matters and use function overloading.
_________________
Little kids and Playstation 2's don't mix. :(

#15582 - sajiimori - Sun Jan 25, 2004 8:47 pm

Why don't you post the solution to your previous problem for future readers to benefit from?

#15586 - poslundc - Sun Jan 25, 2004 9:52 pm

It's been a long time since I've used ar, but as I recall all you need to do is use

ar -q library.a file1.o file2.o ...

-q is the switch for "quickly append". Why bother with the fancy stuff, I figure.

Dan.

#15590 - Paul Shirley - Sun Jan 25, 2004 10:25 pm

removed

Last edited by Paul Shirley on Sun Mar 28, 2004 9:19 pm; edited 1 time in total

#15594 - tepples - Sun Jan 25, 2004 11:21 pm

Does the 'c' modifier delete all .o files in the library as well?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#15595 - Paul Shirley - Sun Jan 25, 2004 11:29 pm

removed

Last edited by Paul Shirley on Sun Mar 28, 2004 9:19 pm; edited 1 time in total

#15596 - dagamer34 - Sun Jan 25, 2004 11:33 pm

Actually, i think it had to do with an invalid ar.exe. So what I did was use the one that came with VisualHAM instead and it decided to work.

Weird.
_________________
Little kids and Playstation 2's don't mix. :(