On Jun 28, 2016, at 2:48 PM, Chris Hanson wrote: > On Jun 24, 2016, at 9:16 PM, Marco S Hyman <m...@snafu.org> 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
I just got this same build warning again today on a completely different project where we suddenly have 900 warnings that the library we are linking to was built for 9.3, but the app linking to it is expecting 7.0. _______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (Xcode-users@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com This email sent to arch...@mail-archive.com