Targets, Link binary, etc.
Herve
Membre
Bonjour,
Je tente toujours sans succès de relier mes classes Cocoa à mes classes audioUnit. Les unes et les autres semblent fonctionner, mais la coordination ne se fait pas. Via la mail list de Core Audio, j'ai appris qu'il fallait une "Target" différente pour Audio unit et CocoaUI. J'ai plein de questions :
- que sont donc exactement ces "target", quel est leur rôle? J'ai du mal à trouver de la doc à ce sujet.
- le "target Cocoa UI" est copié dans le "target dependencies" de l'Audio Unit. Pouvez-vous m'éclairer sur ce processus?
- j'utilise dans le "build phase" de chaque target le lien "link binary" pour associer à chaque partie du programme les frameworks nécessaires, et beaucoup sont les mêmes. Problème, du coup, XCode charge deux fois le même framework. Sinon on peut utiliser "Add files to..." mais dans ce cas j'ai du mal à retrouver les framework sur le disque dur. Que suggérez-vous?
- pour tester le .component, j'aurai besoin de la console depuis AudioLab. Pas moyen de lancer le plug depuis XCode. Savez-vous comment avoir la console et le debugging dans ce cadre?
Bon, on va s'arrêter là .... Merci d'avance!!
Je tente toujours sans succès de relier mes classes Cocoa à mes classes audioUnit. Les unes et les autres semblent fonctionner, mais la coordination ne se fait pas. Via la mail list de Core Audio, j'ai appris qu'il fallait une "Target" différente pour Audio unit et CocoaUI. J'ai plein de questions :
- que sont donc exactement ces "target", quel est leur rôle? J'ai du mal à trouver de la doc à ce sujet.
- le "target Cocoa UI" est copié dans le "target dependencies" de l'Audio Unit. Pouvez-vous m'éclairer sur ce processus?
- j'utilise dans le "build phase" de chaque target le lien "link binary" pour associer à chaque partie du programme les frameworks nécessaires, et beaucoup sont les mêmes. Problème, du coup, XCode charge deux fois le même framework. Sinon on peut utiliser "Add files to..." mais dans ce cas j'ai du mal à retrouver les framework sur le disque dur. Que suggérez-vous?
- pour tester le .component, j'aurai besoin de la console depuis AudioLab. Pas moyen de lancer le plug depuis XCode. Savez-vous comment avoir la console et le debugging dans ce cadre?
Bon, on va s'arrêter là .... Merci d'avance!!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Apple, dans sa doc sur les concepts de Xcode dit que
Beaucoup de choses semblent être expliquées ici pour Xcode 3 dont l'environnement est différent (mais les concepts restent ceux de Cocoa bien sûr).
En fait,si je comprends bien la doc, une seule target doit être active à la fois. Aussi le menu "target dependencie" dans le "build phase" permet-il visiblement de hiérarchiser les "targets"?? Et puis surtout, si on deux deux targets, comment les classes audio et graphiques communiquent-elles vraiment? On les appelle dans les header, certes, mais bon.
J'ai des problèmes de compilation depuis que je manipule ces targets. J'ai ça :
J'y suis pas encore!! Mes classes audio marchent maintenant, je sais faire beaucoup de circuits audio classiques, les classes graphiques fonctionnent. C'est la communication entre elles que je n'arrive pas à finaliser.
Pas vraiment. C'est un concept générique qui définit un produit de compilation. Il est utilisé pour des outils bien plus vieux que Xcode, comme (GNU) make, cmake et bien d'autres.
Concernant la console, Terminal n'aide pas (visiblement) et je ne vois rien dans AULab. Du coup, pas moyen de mettre des NSLog ou des printf pour voir où cela ne marche pas. Vous n'auriez pas une idée??
Au fait, suis-je le seul dans ce forum à travailler avec Core Audio?
Pour la console je n'ai pas été plus loin que lancer AULab pour voir s'il y'en avait une mais il n'y en a pas, je n'ai pas eu le courage de lancer auval pour regarder ce que c'était, désolé.
Si tes NSLog ne passent pas tu peux utiliser printf qui souvent est redirigé vers la console qui se trouve dans le sous-dossier Utilitaires du dossier /Applications
hth
Merci.
Merci, je pensais à un truc comme ça, mais je pensais que c'était Terminal, je n'avais pas vu Console.