View Full Version : Linux libraries .a and .so
{MSX}
29-11-2004, 08:02 PM
Hi! i was asking myself what's the differences between ".a" libraries and ".so" libraries.
Also, i was compiling ODE from sources for my game, but it only generates libode.a. What about libode.so ? :)
How can i make it ?
Thanks!
I don't have as much Linux experience as I'd like, but I know that an .so file is the static equivilent of a DLL. It stands for, if I'm not mistaken, 'Static Object'. And for the majority of the common .so files are normally stored in a standard location within the installation. Things like OpenGL, OpenAL, or anything else like that...
As for the .a I haven't a clue.
Lightning
01-12-2004, 06:04 PM
.so(shared object) files are the *nix equivalent of a .dll(dynamic link library)
.o(object) files are the GNU tools equivalent of .obj files and are used in conjunction with .a(object-archive) files.
Basically you should be able to link .o/.a files using FPC, look @ docs, see {$linklib } directive.
{MSX}
01-12-2004, 06:45 PM
[quote="Lightning"].so(shared object) files are the *nix equivalent of a .dll(dynamic ]
Thanks! I don't think that i can link the library in my exe, becouse it is dinamically loaded by the headers (odeimport.dll), like for example OpenGl are in DelphiJedi.
I need to obtain the .so.. do you know how can i do this ? :P
Thank you :mrgreen:
savage
01-12-2004, 10:37 PM
This is what I was told to do and it worked for me on Mandrake 10...
<quote>
In the top-level-directory Makefile, add this line after line number 250 (the
command which creates the static library)
$(CC) -shared -o libode.so $(ODE_OBJECTS) -L$(OPCODE_DIRECTORY) -lopcode -lm
</quote>
{MSX}
02-12-2004, 07:56 AM
This is what I was told to do and it worked for me on Mandrake 10...
<quote>
In the top-level-directory Makefile, add this line after line number 250 (the
command which creates the static library)
$(CC) -shared -o libode.so $(ODE_OBJECTS) -L$(OPCODE_DIRECTORY) -lopcode -lm
</quote>
Thanks! i'm trying this evening.
{MSX}
10-12-2004, 12:08 PM
Thanks! i'm trying this evening.
It didn't worked.. :(
savage
10-12-2004, 04:08 PM
I could send you one I already have.
{MSX}
10-12-2004, 05:02 PM
I could send you one I already have.
That would be nice :P Thank you!
What type do you have? i'm looking for the last version, release, with mesh geom support.
You should already have my email address
savage
10-12-2004, 07:10 PM
Hmm I may try to build it again with the latest source then
{MSX}
11-12-2004, 06:13 PM
Hmm I may try to build it again with the latest source then
Thanks :P
{MSX}
17-12-2004, 07:22 PM
I did it!!! :mrgreen:
I was finally able to compile a new libode.so. The line to add is:
$(CC) -shared -o libode.so $(ODE_OBJECTS) -L$(OPCODE_DIRECTORY) -lm
at line 333. (note that the library is put in the main directory and not under lib)
I hope it's correct, i don't understand anything about those damned makefiles. I hate them! :P Thanks god we don't need them with Pascal :P
Ok, now the main improvement is that it now has dWorldQuickStep for a quick algorithm. I can run 50+ car in my game :P I'll have to post a screenshot.
One problem is that the dCreateCylinder procedure doesn't exists anymore!! Why ?! :scratch: Should we all use the capped cylinder ?
Also, in the old library the dGeomSetData didn't worked (dGeomGetData always gives nil). I hoped that it was ok in the last release but i still can't make it work. Any suggestion ?
Bye
EDIT: The screenshot (http://funkycars.sourceforge.net/shot7.jpg) :P
savage
17-12-2004, 08:04 PM
Sorry I could not do it for you, but I was a little busy getting the new site up and running
{MSX}
17-12-2004, 08:20 PM
Sorry I could not do it for you, but I was a little busy getting the new site up and running
No problem savage :P
savage
17-12-2004, 10:04 PM
Re you Geom question, I would suggest sending an email to Mattias and asking him about it. Best to go straight to the source.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.