[Xcode4] Target dependencies

HollowManHollowMan Membre
Bonjour à  tous,
J'ai un projet Xcode donné qui contient une foultitude de targets différentes ayant bien entendu des relations de dépendances. Je joue donc avec la Build Phase "Target dependencies" de l'IDE et je rencontre néanmoins de problèmes de compilation.
Un point que je n'arrive pas à  cerner est le suivant : Xcode tient-il compte de l'ordre dans lequel les target dependencies sont dans la dite build phase + Si oui, cet ordre est)il croissant ou décroissant ?
Même en jouant avec, je n'arrive pas à  lui faire résoudre les dépendances de manière ordonnée comme dans un Makefile...

Y aurait-il quelque chose à  coté duquel je serais en train de passer ?

Merci par avance.

Réponses

  • zoczoc Membre
    janvier 2012 modifié #2
    Si les dépendances sont bien faites, alors l'ordre importe peu  ;) , puisque fixer un ordre équivaut à  faire dépendre chaque target des targets situées avant elle... Il suffit donc de mettre des dépendances sur toutes les targets au lieu d'uniquement le faire sur la target de plus haut niveau...


    Sachant que l'ordre de compilation n'est pas documenté (et peut donc changer d'une version à  l'autre de Xcode), c'est la seule bonne manière de faire (construire un graphe de dépendances qui ne matérialise que les dépendances directes).


    D'ailleurs, même avec les makefiles, compter sur l'ordre des dépendances pour fixer un ordre de compilation est dangereux, car sur une machine multiprocesseurs, en utilisant l'option -j, il est possible que make compile des targets en parallèle, et donc sans respecter l'ordre des dépendances.


    La bonne manière de l'écrire (et donc de le faire sous Xcode graphiquement), c'est:


    <br />b :<br />&nbsp; &nbsp; ...<br />a : b<br />&nbsp; &nbsp; ...<br />c : a<br />&nbsp; &nbsp; ...<br />
    



    et pas


    <br />b :<br />&nbsp; &nbsp; ...<br />a :<br />&nbsp; &nbsp; ...<br />c : b a<br />&nbsp; &nbsp; ...<br />
    

  • HollowManHollowMan Membre
    16:35 modifié #3
    Tu marques un point.

    La raison pour laquelle j'ai plusieurs dépendances sur une seule target est cependant assez intransigeante. Effectivement, le projet contient des "sous projets". Les targets qui sont dans le projet père peuvent inclure des relations de dépendances avec les targets des sous projets, mais l'inverse n'est malheureusement pas vrai. Du coup, j'ai l'impression de faire face a une impasse. Aurais-tu une idée ?
Connectez-vous ou Inscrivez-vous pour répondre.