This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Does 'ar' work with native MS Windows libs?

Williams, Gerald S (Jerry) wrote:
Coatimundi wrote:
If paths are included in the archive (which is typical for
libs created by Visual Studio), then ar may in some cases
claim that members (displayed with 'ar t') do not exist
when doing "ar x lib.a {object}" either by path/name.obj
or just name.obj.

I think you need to use the -P option:

 $ ar t foobar.lib
 $ ar xv foobar.lib 'release\foo.obj'
 no entry release\foo.obj in archive
 $ ar xvP foobar.lib 'release\foo.obj'
 x - release\foo.obj


Thank you for bringing this up. I forgot to mention (a sure sign that my multitasking scaling is rolling over) that I also tried the P option. While this usually works, I found cases where it did not. Interestingly, these cases corresponded to libs compiled with debugging information, which are precisely the libs for which 'ar t' returns some (about 25%) but not all of the member names. I know the expected members are there, because (1) 'ar x' (with no member specified) does in fact extract all of the members and (2) I can link against them. Very strange to my simple mind.

I see nothing wrong with the source for 'ar' so I suspect that there is something not quite right about my lib (which was built with MS's LIB.EXE) with debugging info. Since I see nothing wrong with the source and I am short on time, I am going to chalk this up to an unidentified mistake on my part, unless I see it again and have time to build bintools myself and step through the code in debug.

The good news is I have not seen any problem with non-debug-info libs, which is sufficient for my purposes.

Thanks for your good suggestion. And thanks to the Cygwin team for porting an incredibly useful set of tools!

-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]