Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to explore the functions in .A library file

I created a .A and a corresponding .dll file from mingw. This is to be run on windows. Now I am attempting to interface and use the function in the .A library from a different component and I am getting a linker error. I wanted to make sure if my functions were exported properly. I therefore followed this link and decided to do this

> lib.exe /list libSomeLibrary.a

as a result I get something like this

d001861.o
d001862.o
d001863.o
d001864.o
d001865.o
d001866.o
d001867.o
d001868.o
d001869.o
d001870.o
d001871.o
d001872.o
d001873.o
d001874.o
d001875.o
d001876.o
d001877.o
d001878.o
d001879.o
d001880.o
d001881.o
d001882.o
d001883.o
....
....

Is this correct. Is there a way for me to actually get the names of the functions in the lib file.

like image 976
MistyD Avatar asked Oct 15 '25 04:10

MistyD


1 Answers

Since you are using MinGW, you may use the nm command to list the contents of any libfoo.a archive file; used thus:

nm -A libfoo.a | more

(or better still, if you have the less command, e.g. in MinGW's MSYS shell environment):

nm -A libfoo.a | less

it will list all symbols specified within the archive, grouped and qualified by the name of the embedded object file which provides each one.

like image 109
Keith Marshall Avatar answered Oct 16 '25 19:10

Keith Marshall



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!