Je viens de passer à la nouvelle Xcode. Après avoir mis à niveau, certaines de mes applications ne construiront pas. Je reçois cette erreur:
ld: cannot link directly with /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/system/libcommonCrypto.dylib. Link against the umbrella framework 'System.framework' instead. for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
5 Réponses :
Je viens de résoudre ce problème comme suit: p>
Il s'avère que l'erreur de libcommoncrypto.dylib était un hareng rouge. P>
Après avoir retiré libccommoncrypto.dylib comme suggéré ci-dessus, j'ai eu 9 nouvelles erreurs. À première vue, j'ai supposé qu'ils étaient des erreurs de crypto, mais elles n'étaient en fait pas; Pour moi, il a effectivement retracé à Zlib n'ayant pas été inclus, ce qui a été "importé" dans une partie plus profonde de la mise en œuvre globale (dont la crypto est une partie). p>
Pour moi spécifiquement, il a suivi l'assidatadecompressor.h, #import Je l'ai corrigé en incluant le cadre de libz.dylib manquant; En fin de compte, je n'avais pas besoin d'inclure explicitement libellmoncrypto.dylib. p>
Ainsi, assurez-vous de vérifier les erreurs de près après la bascule libcommoncrypto et assurez-vous que d'autres bibliothèques ne manquent pas, à la place. P>
J'ai résolu ce problème de manière difforme après que j'ai essayé les deux ci-dessus où ni n'ont travaillé pour moi.
Le problème était que lorsque j'ajoutais la bibliothèque de l'interface principale (principaux paramètres de construction ... etc.) Je cherchais initialement pour Si vous remarquez que les deux libs ci-dessus seraient normalement Asseyez-vous sous également pour mentionner que sur la base des gris-libs existant comme un paquet à l'intérieur Encore une fois, La solution est la suivante: p> * à partir de vos paramètres de projet Xcode principaux, n'ajoutez pas: em> * dd p> dans votre .m (code), simplement les obtenir normalement en faisant: < / fort> p> Ça devrait fonctionner correctement. P> J'espère que cela aide. p> genre Cordialement p> p> crypto code>, puis deux libs reviennent
libcorecrypto .DYLIB code> et
LIBLIBCOMMONCRYPTO.DYLIB code>, Si vous remarquez, les deux existent en couleur gris, contrairement aux libs de couleur Yello-coloré que vous ajoutez normalement. Ajout de ces causes Le compilateur de faire rapport (certains autres libs manquent, tels que la libz, ou une autre lib qui sera nécessaire, plus les fonctions que vous prenez. P>
JavaScriptCore.framework CODE> Bibliothèque (qui est le jaune), par conséquent, en supprimant la deuxième et en ajoutant
javascriptcore.framework code> à la place, le problème a été résolu et
Construire le succès CODE> a montré P>
javascriptcore.framework code>, le libcrypto et l'autre n'existe pas Sous la
/ bibliothèque /.../ Système / chemin code> Comme mentionné ci-dessus, c'est-à-dire que vous ne les avez pas supprimés de votre système, ils ne sont tout simplement pas là. P>
#import - pas #include
J'utilise des cocoapodes pour la gestion de la bibliothèque. Une des bibliothèques (vous pouvez rechercher simple dans votre espace de travail) contenait référence à communcrypto.framework qui a été rouge dans la liste des cadres dans ses paramètres de projet. P>
Dans mon cas, je devais supprimer la dépendance sur communCrypto.framework, mais cette solution dure juste à une autre mise à jour de vos gousses. P>
BTW J'aimerais connaître une commande pour énumérer le graphique des dépendances entre les bibliothèques du podfile. P>
J'ai eu la même erreur, p>
Je résolu ce problème en vérifiant mon PATH $. Il était un fichier manquant strong>. P>
Utilisation En comparant mes libs avec mes amis systèmes Mac, il montre que ce fichier n'était pas présent sur mon ordinateur: p>
Xcode en utilisant $ fallback PATH sur Je copié la version de mon ami, se déplacer dans Il y a un problème vicieux la cause il y a beaucoup même fichier pour cette lib en fonction de votre architecture et la plupart d'entre eux ne sont pas destinés à être utilisés pour ios builds. Mais le var env $ PATH sera fallback sur / usr / lib lorsqu'aucun fichier se trouvent sur dirs dédiés. P>
Xcode sur fallback ld: dans '/usr/lib/system/libcommonCrypto.dylib', manquant arm64 architecture nécessaire dans le fichier /usr/lib/system/libcommonCrypto.dylib (2 tranches) pour l'architecture arm64
clang: Erreur: commande de liaison a échoué avec le code de sortie 1 (utilisation -v pour voir invocation) code> p>
find / -type f -name libcommonCrypto.dylib code> p>
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/system/libcommonCrypto.dylib code> p>
/usr/lib/system/libcommonCrypto.dylib code> mais ce n'est pas le bien construit (i386 insteadof stuff bras). P>
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/system / code > et j'ai pu construire mes projets à nouveau. p>
/usr/lib/system/libcommonCrypto.dylib code> mais cela est certainement pas la lib correcte parce que ce ne construit pour ios, mais construit pour mon mac. P>
meilleure solution , car il est indiqué enlever libcommoncrypto.dylib et remplacer en ajoutant SystemConfiguration.framework.it a fonctionné pour moi, pourrait être utile à quelqu'un.J'ai eu une erreur de liaison à la liaison disant getlink contre le cadre parapluie "System.framework" p>. P>.
Accédez à vos étapes de construction cible, sous "Link avec des bibliothèques" ou donc, retirez la libellmoncrypto.dylib.
Veuillez noter que lorsque vous avez dit TC, ne le déplacez pas à la poubelle. Si vous le faites, vous obtiendrez "LD: in 'in' /usr/lib/system/libcommoncrypto.dylib ', manque d'architecture requise ARMV7 dans le fichier /usr/lib/system/libcommoncrypto.dylib (2 tranches) pour l'architecture armv7". Il suffit de le remettre de votre poubelle.
@tc. Pourquoi retirer libcommoncrypto.dylib?
Vous devriez accepter une réponse pour faciliter la tâche de trouver la solution