web-dev-qa-db-fra.com

Apple Mach-O Linker Warning Directory not found

J'ai passé mes cinq dernières heures à chercher cette situation bizarre une explication raisonnable.

Voici l'avertissement:

ld: warning: directory not found for option '-L/Users/oasis_weng/Desktop/My Life/Life For Myself/Programming/Projects/ChangWeiBo/../xCodeExamples/ShareSDK/ShareSDK_v2.1.0/Extend/SDKExport'
ld: warning: directory not found for option '-F/Users/oasis_weng/Desktop/My Life/Life For Myself/Programming/Projects/ChangWeiBo/../xCodeExamples/ShareSDK/ShareSDK_v2.1.0/Connection'
ld: warning: directory not found for option '-F/Users/oasis_weng/Desktop/My Life/Life For Myself/Programming/Projects/ChangWeiBo/../xCodeExamples/ShareSDK/ShareSDK_v2.1.0/Core'
ld: warning: directory not found for option '-F/Users/oasis_weng/Desktop/My Life/Life For Myself/Programming/Projects/ChangWeiBo/../xCodeExamples/ShareSDK/ShareSDK_v2.1.0/Extend'
ld: warning: directory not found for option '-F/Users/oasis_weng/Desktop/My Life/Life For Myself/Programming/Projects/ChangWeiBo/../xCodeExamples/ShareSDK/ShareSDK_v2.1.0'
ld: warning: directory not found for option '-F/Users/oasis_weng/Desktop/My Life/Life For Myself/Programming/Projects/ChangWeiBo/../xCodeExamples/ShareSDK/ShareSDK_v2.1.0/UI'

Cependant, je connais tous ces présumés "missing files "existe réellement et réellement dans mon dossier d'application et l'application fonctionne correctement avec ces fichiers.

Le problème de ces répertoires dans l'avertissement est que le chemin réel n'inclut pas le ../xCodeExamples/ part.

Que dois-je faire pour supprimer ces avertissements?

47
donkey

Vous devez suivre ces étapes:

  • Cliquez sur votre projet (cibles)
  • Cliquez sur Build Settings
  • Sous "Chemins de recherche de bibliothèque", supprimez les chemins
  • Nettoyez votre build et exécutez à nouveau.

Bonne chance !!

94
Ajay Chaudhary

Pour moi, le mauvais chemin se trouvait sous Framework Search Paths.

Le moyen le plus simple de trouver où se trouve le mauvais chemin consiste à en saisir une partie dans la zone de recherche en haut à droite. Cela filtrera la liste sur ce seul mauvais chemin. La supprimer, comme le suggère l'autre réponse, résout le problème.

Voir cette réponse pour plus d'informations.

41
Senseful

Eu le même problème aujourd'hui avec une solution différente (pourrait aider quelqu'un).

Si le nom de votre répertoire source $(SRCROOT) comprend des espaces, utilisez "$(SRCROOT)" au lieu de $(SRCROOT) dans les chemins de recherche de bibliothèque.

Disons que le nom de votre répertoire est "A B C". Si vous utilisez $(SRCROOT) vous pourriez obtenir quelque chose comme:

directory not found for option '-LA'
directory not found for option '-LB'
directory not found for option '-LC'
4
Rok Jarc

Vérifiez également les paramètres de construction-> Chemin de recherche du framework pour les dossiers inutilisés (ce genre d'avertissement m'est arrivé lorsque j'ai supprimé Carthage du projet aujourd'hui)

1
Robert Juz