On Jun 24, 2016, at 9:16 PM, Marco S Hyman <[email protected]> wrote: > Building a library, step 1: > compile a bunch of .c, .m, .cc, .whatever files into .o files > > Building a library, step 2: > Link all the .o files created in step 1 into a .a file
This is subtly incorrect. On UNIX systems, step 2 is typically: Archive all the .o files created into step 1 into a .a file Unless configured specially, a static library on UNIX systems is typically just an archive of *un-linked* .o files. They are neither linked against the frameworks and libraries against which they were built, nor linked against each other. All linkage (again, unless configured specially) happens at the time the .a is used to produce a final linked product such as an executable, bundle, or dylib. This can result in surprises when there are linkage requirements that aren't satisfied by a downstream consumer of the .a file. -- Chris _______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com This email sent to [email protected]
