2010-11-11 29 views
0

question:Comment Xcode génère-t-il la liste des répertoires de framework utilisés dans l'étape de liaison finale?

Comment Xcode générer la liste des répertoires cadres (drapeaux -F dans l'appel à ld) lors de la construction d'une application Cocoa? Je continue d'obtenir un avertissement pour un ancien répertoire que (je pense) j'ai supprimé des paramètres du projet.

détails:

je me suis déplacé un projet Xcode de travail d'un répertoire à un autre. J'ai dû corriger quelques références brisées à des frameworks qui ont maintenant un chemin relatif différent. Tout semble fonctionner, à l'exception d'un seul avertissement sur l'étape de liaison finale:

ld: warning: directory '../Some/Path/To/Framework' following -F not found 

../Some/Path/To/Framework est certainement partie de l'ancienne installation. Les cadres externes ont été stockés dans un répertoire situé à un niveau du fichier de projet.

Le texte intégral de l'appel à ld ressemble à quelque chose comme ça (légèrement aseptisé):

Ld /Volumes/Projects/Builds/Debug/MyApp.app/Contents/MacOS/MyApp normal i386 
cd /Volumes/Projects/MyApp 
setenv MACOSX_DEPLOYMENT_TARGET 10.6 
/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk 
-L/Volumes/Projects/Builds/Debug -F/Volumes/Projects/Builds/Debug 
-F../Some/Path/To/Framework 
-F/Correct/Path/To/Framework 
-filelist /Volumes/Projects/Builds/MyApp.build/Debug/MyApp.build/ 
    Objects-normal/i386/MyApp.LinkFileList 
-mmacosx-version-min=10.6 
-framework Cocoa 
-framework FRAMEWORK 
-framework Carbon 
-framework Quartz 
-o /Volumes/Projects/Builds/Debug/MyApp.app/Contents/MacOS/MyApp 

L'avertissement est déclenchée par cette ancienne valeur pour -F. J'ai recherché dans tous les paramètres de construction, et tout indique /Correct/Path/To/Framework, pas ../Some/Path/To/Framework. J'ai également nettoyé toute la construction, mais en vain.

Répondre

1

Vérifiez vos paramètres de construction. Les chemins de recherche de l'infrastructure sont sous chemins de recherche d'infrastructure ou la variable de génération FRAMEWORK_SEARCH_PATHS.

+0

Ouais, c'était ça. J'avais recherché les paramètres de construction, mais j'avais différents chemins de recherche de framework pour build et debug (je ne sais pas pourquoi), ce qui signifiait que l'entrée 'Framework Search Paths' était obscurcie par une étiquette' 'et ma recherche de" ../ Some/Path ... "n'a pas fonctionné. Merci de m'avoir indiqué au bon endroit! –