Почему мой компоновщик пытается связать старый iOS SDK? - PullRequest
0 голосов
/ 09 августа 2011

Я могу создать свой проект для iOS прямо сейчас, но я получаю два предупреждения, подобные приведенным ниже, которые действительно меня раздражают:

ld: warning: directory not found for option
    '-L/Users/brennon/Development/MobileMuse/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib'

(я разбил команду компилятора на несколько строк в тщетной попытке чтения):

Ld /Users/brennon/Library/Developer/Xcode/DerivedData/BioAudio-avxobobusfxeffaswkzteodevihm/Build/Intermediates/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv7/BioAudio normal armv7
    cd /Users/brennon/Development/MobileMuse/BioAudio
    setenv IPHONEOS_DEPLOYMENT_TARGET 4.3
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 
        -arch armv7 
        -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk 
        -L/Users/brennon/Library/Developer/Xcode/DerivedData/BioAudio-avxobobusfxeffaswkzteodevihm/Build/Products/Debug-iphoneos 
        -L/Users/brennon/Development/MobileMuse/BioAudio 
        -L/Users/brennon/Development/MobileMuse/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib 
        -F/Users/brennon/Library/Developer/Xcode/DerivedData/BioAudio-avxobobusfxeffaswkzteodevihm/Build/Products/Debug-iphoneos 
        -filelist /Users/brennon/Library/Developer/Xcode/DerivedData/BioAudio-avxobobusfxeffaswkzteodevihm/Build/Intermediates/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv7/BioAudio.LinkFileList 
        -dead_strip -miphoneos-version-min=4.3 -framework Foundation 
        -framework UIKit -framework CoreGraphics -framework AudioToolbox 
        -framework Security 
        -o /Users/brennon/Library/Developer/Xcode/DerivedData/BioAudio-avxobobusfxeffaswkzteodevihm/Build/Intermediates/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv7/BioAudio

Кажется, он все еще пытается соединиться с 4.2 SDK, которого больше нет после обновления моей машины для разработки до 10.7 и, следовательно, Xcode. Я просмотрел настройки Project и Target и не могу найти ничего, все еще указывающего на 4.2. Есть идеи?

РЕДАКТИРОВАТЬ: Я попробовал ответ dtuckernet. Выполнение grep -iRF iPhoneOS4.2.sdk . в каталоге проекта привело к следующему (извините за беспорядок!) Выводу:

./BioAudio.xcodeproj/project.pbxproj:                   "\"$(SRCROOT)/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib\"",
./BioAudio.xcodeproj/project.pbxproj:                   "\"$(SRCROOT)/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib\"",
./BioAudio.xcodeproj/project.xcworkspace/xcuserdata/brennon.xcuserdatad/UserInterfaceState.xcuserstate:         <string>file://localhost/Users/brennon/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a</string>
./BioAudio.xcodeproj/project.xcworkspace/xcuserdata/brennon.xcuserdatad/UserInterfaceState.xcuserstate:     <string>file://localhost/Users/brennon/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a</string>
./BioAudio.xcodeproj/project.xcworkspace/xcuserdata/brennon.xcuserdatad/UserInterfaceState.xcuserstate:     <string>Directory not found for option '-L/Users/brennon/Development/MobileMuse/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib'</string>
./build/BioAudio.build/Debug-iphoneos/BioAudio.build/build-state.dat:N/Users/brennon/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a
./build/BioAudio.build/Debug-iphoneos/BioAudio.build/build-state.dat:N/Users/brennon/Development/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a
./build/BioAudio.build/Debug-iphoneos/BioAudio.build/build-state.dat:lSLF07#2@121"Link /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv6/BioAudio3    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk -L/Users/brennon/Development/BioAudio/build/Debug-iphoneos -L/Users/brennon/Development/BioAudio -L/Users/brennon/Development/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib -F/Users/brennon/Development/BioAudio/build/Debug-iphoneos -filelist /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv6/BioAudio.LinkFileList -dead_strip -miphoneos-version-min=4.2 -framework Foundation -framework UIKit -framework CoreGraphics -framework AudioToolbox -llo -framework Security -o /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphoneos/BioAudio.build/O0#ects-normal/armv6/BioAudio
./build/BioAudio.build/Debug-iphoneos/BioAudio.build/build-state.dat:lSLF07#2@121"Link /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv7/BioAudio3    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk -L/Users/brennon/Development/BioAudio/build/Debug-iphoneos -L/Users/brennon/Development/BioAudio -L/Users/brennon/Development/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib -F/Users/brennon/Development/BioAudio/build/Debug-iphoneos -filelist /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv7/BioAudio.LinkFileList -dead_strip -miphoneos-version-min=4.2 -framework Foundation -framework UIKit -framework CoreGraphics -framework AudioToolbox -llo -framework Security -o /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphoneos/BioAudio.build/O0#ects-normal/armv7/BioAudio
Binary file ./build/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv6/BioAudio matches
Binary file ./build/BioAudio.build/Debug-iphoneos/BioAudio.build/Objects-normal/armv7/BioAudio matches
./build/BioAudio.build/Debug-iphonesimulator/BioAudio.build/build-state.dat:N/Users/brennon/Development/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a
./build/BioAudio.build/Debug-iphonesimulator/BioAudio.build/build-state.dat:old: warning: in /Users/brennon/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a, file was built for unsupported file format which is not the architecture being linked (i386)
./build/BioAudio.build/Debug-iphonesimulator/BioAudio.build/build-state.dat:lSLF07#2@90"Link /Users/brennon/Development/BioAudio/build/Debug-iphonesimulator/BioAudio.app/BioAudio318119306#318119307#0(372"ld: warning: in /Users/brennon/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a, file was built for unsupported file format which is not the architecture being linked (i3865(22@192"In /Users/brennon/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib/liblo.a, file was built for unsupported file format which is not the architecture being linked (i386)318119307#0#206#0(6@0"318119307#0#0#0#0#0"0(4@46""_lo_address_new_with_proto", referenced from:318119307#225#49#0(6@0"318119307#0#0#0#0#0"0(13@31"-[BioAudio setup] in BioAudio.o318119307#274#38#0(6@0"318119307#0#0#0#0#0"0(13@19"Symbol(s) not found318119307#312#24#0(6@0"318119307#0#0#0#0#0"0(13@35"Collect2: ld returned 1 exit status318119307#336#36#0(6@0"318119307#0#0#0#0#0"0(0#0#0"8640817536#1094"    cd /Use    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -L/Users/brennon/Development/BioAudio/build/Debug-iphonesimulator -L/Users/brennon/Development/BioAudio -L/Users/brennon/Development/BioAudio/../../Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/lib -F/Users/brennon/Development/BioAudio/build/Debug-iphonesimulator -filelist /Users/brennon/Development/BioAudio/build/BioAudio.build/Debug-iphonesimulator/BioAudio.build/Objects-normal/i386/BioAudio.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework AudioToolbox -llo -framework Security -o /Users/brennon/Developm1#t/BioAudio/build/Debug-iphonesimulator/BioAudio.app/BioAudio
Binary file ./build/Debug-iphoneos/BioAudio.app/BioAudio matches

Изменить записи в pbproject.pbxproj на 4.3 было достаточно просто, но те же предупреждения все еще выдаются при сборке. Очистка до сих пор ничего не решает. Я чувствую себя неловко из-за того, что просто поменяю ключи списков в списках под brennon.xcuerdatad. Я уверен, что проблема здесь или в файлах build-state, но разве они не должны обновляться / перестраиваться в чистом виде?

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Различные конфигурации Debug / Release могут иметь разные настройки для целевой iOS. Убедитесь, что конфигурируемая вами конфигурация соответствует вашим ожиданиям для iOS, которая должна быть установлена ​​в ней.

0 голосов
/ 09 августа 2011

В настройках вашего проекта все еще есть ссылка на 4.2. В прошлом я использовал grep, чтобы просмотреть все файлы в моем проекте и найти ссылку.См. Этот пример:

cd ~/Documents/MyProjectDirectory/
grep -iRF 4.2 .

Это должно дать вам все файлы, которые содержат 4.2, и должно быть легко увидеть, где находится ссылка на 4.2 SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...