1

Je reçois cette erreur de l'éditeur de liens qui ne me permet pas de compiler. Cela n'arrive que sur le simulateur.

Erreur de lien Xcode sur l'application iPhone (Uniquement sur simulateur)

POINTS CLÉS:
- Ça arrive seulement dans le simulateur
- Similaire à THIS question, mais n'a trouvé aucune FRAMEWORK_SEARCH_PATHS dans mon fichier .pbxproj
- Bien que mon OS est 10.6.2, je devais construire cible 1.5 pour éviter d'autres erreurs de liens
- libxml2.dylib IS requis et fait partie de mon groupe Frameworks
- Les autres bibliothèques citées dont je n'ai jamais entendu parler.
- Essayé d'apporter dans les autres Libs sous des cadres, n'a pas résolu.


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 



CLUE:
Encore une fois, ma question est très semblable à THIS SOLVED QUESTION sauf que dans mon cas, je n'ai pas trouvé une entrée de FRAMEWORK_SEARCH_PATHS dans le .pbxproj fichier dans mon lot de projets et ne pouvait donc pas résoudre de la manière dont cette question a été résolue.

Répondre

12

Le problème est le suivant:

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

C'est dire à votre simulateur (i386) construire d'utiliser des fichiers à partir du périphérique (bras)/usr/lib.

Trouvez dans votre cible où/usr/lib est (utilisez simplement la bulle de recherche dans l'onglet Obtenir des informations/Paramètres de construction de la cible) et supprimez-le. Le compilateur utilisera usr/lib de la bonne plate-forme si on ne lui dit pas d'utiliser le mauvais en premier.

+1

L'homme m'a vraiment aidé. Merci. – RexOnRoids

0

J'ai eu la même chose m'arriver. J'ai supprimé et re ajouté tous mes cadres et toujours eu le même problème. Pour se débarrasser de l'erreur, j'ai finalement dû supprimer le chemin vers la bibliothèque fautive à partir des chemins de recherche de bibliothèque sous les paramètres de construction.

2

J'ai le même problème. Et il s'avère que mon code de version est exécuté sur l'environnement de débogage. Cliquez sur "Modifier le schéma ..." et modifier la configuration de la construction pour libérer résolu mon problème.