Re: iOS Xcode 7.3. If I'm telling it to build for 8.0, why is it reporting that it's built for 8.3
Re: iOS Xcode 7.3. If I'm telling it to build for 8.0, why is it reporting that it's built for 8.3
- Subject: Re: iOS Xcode 7.3. If I'm telling it to build for 8.0, why is it reporting that it's built for 8.3
- From: Roland King <email@hidden>
- Date: Sat, 25 Jun 2016 11:22:04 +0800
> On 25 Jun 2016, at 10:58, Alex Zavatone <email@hidden> wrote:
>
>
> On Jun 24, 2016, at 9:13 PM, Roland King wrote:
>
>> Go find the log lines which actually compile the files in the lib project to object files and the lines which then link it into a static library.
>
> To the bast of my knowledge, I already pasted them in to the email thread.
I’m not seeing them - I see linker lines, I see libtool lines, I don’t see anything which takes a .c file and turns it into a .o file, but I don’t know if I have the whole thread. The lines you have in the rest of this mail are linker and libtool lines again. The version information is in the .o file which means it was put in there at compile time. But I’m going to remove all that and put this one line
ld: warning: object file (/Users/zav/Library/Developer/Xcode/DerivedData/DirectFramework-enjpwwddxjevztftswnqliwzwrjf/Build/Products/Debug-iphoneos/libpjsip-ios.a(log.o)) was built for newer iOS version (8.3) than being linked (8.0)
That’s the line which tells you what matters .. actually let me paste a few more from the old mails
ld: warning: object file (/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a(pjsua_acc.o)) was built for newer iOS version (8.3) than being linked (8.0)
ld: warning: object file (/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a(pjsua_core.o)) was built for newer iOS version (8.3) than being linked (8.0)
ld: warning: object file (/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a(pjsua_call.o)) was built for newer iOS version (8.3) than being linked (8.0)
ld: warning: object file (/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a(pjsua_aud.o)) was built for newer iOS version (8.3) than being linked (8.0)
ld: warning: object file (/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a(sock_bsd.o)) was built for newer iOS version (8.3) than being linked (8.0)
ld: warning: object file (/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a(activesock.o)) was built for newer iOS version (8.3) than being linked (8.0)
So activesock.o which resides in the library libpjsip-ios.a, which is just a collection of .o files all jammed together into a library format with an index, was built for 8.3. Somewhere is a compile line which in the olden days would have looked like
cc -o activesock.o -c activesock.c
but is now probably somewhat longer. The same is true for log.o, pjsua_acc-o, pjsua_core.0, pjsua_call.o, pjsua_aud.o and all the other object files referenced. That’s the line you’re looking for, that’s the build command you have to find, that’s the thing which is missing a minimum deployment target or has an incorrect minimum deployment target on it.
So where are they coming from - well from the link line in your library they are either coming from a list of files you built, which is this list
-filelist /Users/zav/Library/Developer/Xcode/DerivedData/DirectFramework-enjpwwddxjevztftswnqliwzwrjf/Build/Intermediates/pjsip-ios.build/Debug-iphoneos/pjsip-ios.build/Objects-normal/arm64/pjsip-ios.LinkFileList
or they are coming from one of the following libraries you’re linking with
-lg7221codec-arm-apple-darwin9
-lgsmcodec-arm-apple-darwin9
-lilbccodec-arm-apple-darwin9
-lmilenage-arm-apple-darwin9
-lmilenage-i686-apple-darwin9
-lpj-arm-apple-darwin9
-lpjlib-util-arm-apple-darwin9
-lpjmedia-arm-apple-darwin9
-lpjmedia-audiodev-arm-apple-darwin9
-lpjmedia-codec-arm-apple-darwin9
-lpjmedia-videodev-arm-apple-darwin9
-lpjnath-arm-apple-darwin9
-lpjsdp-arm-apple-darwin9
-lpjsip-arm-apple-darwin9
-lpjsip-simple-arm-apple-darwin9
-lpjsip-ua-arm-apple-darwin9
-lpjsua-arm-apple-darwin9
-lpjsua2-arm-apple-darwin9
-lresample-arm-apple-darwin9
-lspeex-arm-apple-darwin9
-lsrtp-arm-apple-darwin9
and it doesn’t matter 2 hoots whether the library is built for min deployment 8.0 if the object files contained inside it aren’t. When you do the actual link of the actual object code, that’s when the linker checks the versioning.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden