Lors de la construction d'un projet dans Xcode (3.1.2), 2 dossiers sont automatiquement ajoutés comme les répertoires d'en-tête avec l'option '-I':-Wmissing-include-dirs et répertoires d'en-tête automatiquement inclus
/ (ProjPath)/(ProjName)/build/(BuildConfigName)/include
/(ProjPath)/(ProjName)/build/(ProjName).build/(BuildConfigName)/(ProjName).build/DerivedSources
I réalisé ceci en essayant d'ajouter -Wmissing-include-dirs
à la liste d'avertissements dans mon projet. Un avertissement est émis pour les deux dossiers. Cela se produit à la fois pour les applications Cocoa et les bibliothèques dynamiques C++. Je n'ai pas essayé d'autre type de projet, mais je suppose que ce comportement s'applique à tout type de projet.
- Comment ces dossiers sont-ils utilisés par Xcode?
- Peuvent-ils être évités ou créés automatiquement par Xcode au début de la construction?
- Si non, comment utiliser avec succès
-Wmissing-include-dirs
avec Xcode?
Merci.
Ces répertoires sont utilisés lorsque vous avez des sources dérivées qui créent des fichiers d'en-tête ou lorsqu'une partie de votre génération génère des fichiers d'en-tête (comme construire une bibliothèque dynamique qui est une cible séparée dont les fichiers include sont ensuite utilisés). Ces cas ne sont pas souvent utilisés et dans un environnement comme Xcode, l'avertissement -Wmissing-include-dirs est presque sans signification. Je vous suggère de supprimer cet avertissement et de ne pas tenter de modifier vos modèles de projet à moins que vous ne sachiez ce que vous faites et pourquoi. Vous pouvez également les créer automatiquement en ajoutant une phase de construction de script d'exécution à votre cible. –
Mon but est d'activer l'avertissement SI cela peut être utile. Pouvez-vous expliquer pourquoi il est presque insignifiant dans Xcode? – Guillaume
Parce que Xcode gère l'environnement de construction pour vous. Cet avertissement vous indique que vous avez peut-être mal saisi le chemin d'accès à un répertoire d'inclusion spécial ou que les fichiers d'en-tête ne sont pas installés aux emplacements prévus. –