Ошибка компоновщика Xcode в приложении iPhone (только на симуляторе) - PullRequest
1 голос
/ 27 марта 2010

Я получаю эту ошибку компоновщика, которая не позволяет мне компилироваться. Это происходит только на симуляторе.

КЛЮЧЕВЫЕ МОМЕНТЫ:
- происходит только в симуляторе
- Похоже на ЭТОТ вопрос , но в моем файле .pbxproj не найдено FRAMEWORK_SEARCH_PATHS
- Хотя моя ОС 10.6.2, мне пришлось собрать цель 1.5, чтобы избежать других ошибок компоновщика.
- libxml2.dylib IS требуется и находится в моей группе фреймворков
- Другие цитируемые библиотеки, о которых я никогда не слышал.
- Попытка ввести тех других Libs в рамках, не решил.


Build SpaceTweet of project SpaceTweet with configuration Debug

Ld build/Debug-iphonesimulator/SpaceTweet.app/SpaceTweet normal i386
cd "/Users/Scott/Desktop/iPhone Dev/SpaceTweet(Experimental)"
setenv MACOSX_DEPLOYMENT_TARGET 10.5
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk "-L/Users/Scott/Desktop/iPhone Dev/SpaceTweet(Experimental)/build/Debug-iphonesimulator" -L/Users/Scott/Desktop "-L/Users/Scott/Desktop/iPhone Dev/SpaceTweet(Experimental)/../../libYAJLIPhone-0" -L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib -L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk/usr/lib -L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib "-F/Users/Scott/Desktop/iPhone Dev/SpaceTweet(Experimental)/build/Debug-iphonesimulator" -filelist "/Users/Scott/Desktop/iPhone Dev/SpaceTweet(Experimental)/build/SpaceTweet.build/Debug-iphonesimulator/SpaceTweet.build/Objects-normal/i386/SpaceTweet.LinkFileList" -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -framework AVFoundation -framework MessageUI -lYAJLIPhone -lxml2 -o "/Users/Scott/Desktop/iPhone Dev/SpaceTweet(Experimental)/build/Debug-iphonesimulator/SpaceTweet.app/SpaceTweet"

ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib/libxml2.dylib, missing required architecture i386 in file
ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib/libSystem.dylib, missing required architecture i386 in file
ld: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib/libobjc.A.dylib, missing required architecture i386 in file
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1



КЛЕЙ:
Опять же, МОЙ вопрос очень похож на ЭТО РЕШЕННЫЙ ВОПРОС , за исключением того, что в моем случае я НЕ нашел запись FRAMEWORK_SEARCH_PATHS в файле .pbxproj в моем комплекте проекта и, следовательно, не мог решить так, как этот вопрос было решено.

Ответы [ 3 ]

12 голосов
/ 27 марта 2010

Проблема заключается в следующем:

-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib 

Это говорит вашей сборке симулятора (i386) об использовании файлов с устройства (arm) /usr/lib.

Найдите в своей цели, где/ usr / lib (просто используйте пузырь поиска на вкладке Get Info / Build Settings цели) и удалите его.Компилятор будет использовать правильную платформу usr / lib, если сначала не сказано использовать неправильную.

3 голосов
/ 21 августа 2015

У меня та же проблема. И оказывается, что мой код релизной версии запускается в среде отладки. Нажмите «Изменить схему ...» и измените «Конфигурация сборки на Выпуск», чтобы решить мою проблему.

0 голосов
/ 06 июля 2011

Со мной случилось то же самое. Я удалил и снова добавил все свои фреймворки, но проблема все еще была. В конце концов, чтобы избавиться от ошибки, мне пришлось удалить путь, указывающий на библиотеку-нарушителя, из пути поиска библиотеки в настройках сборки.

...