2012-04-02 5 views
0

EDIT:Appel macro externe dans lib statique

Mon projet Xcode (appelé PROJECT1) contient un autre projet Xcode en tant que dépendance (dans les phases de compilation) (appelé LIB1)

Le problème que j'ai est que les besoins de LIB1 une macro et quelques définitions définies à la compilation par PROJECT1 dans un include (en fonction de la cible sélectionnée dans PROJECT1)

Je pensais qu'une action de script Run pouvait m'aider. Mais j'ai découvert que le script est appelé après la construction des dépendances. Donc, mon fichier d'inclusion est copié dans mon code source lib, après que la lib est compilée ...

J'ai également découvert que les variables d'environnement des paramètres de construction ne sont pas transmises à LIB1, ce qui m'aiderait beaucoup.

Avez-vous une idée?

Merci pour votre aide.

Thierry

+1

Achetez-le des lunettes? Les macros ne sont pas "appelées", elles sont "développées". Ils doivent être présents lorsque le code est compilé (ou, plus précisément, pré-traité), et la modification de la macro après la compilation n'aura aucun effet. –

+0

J'ai édité ma question. – thierryb

Répondre

0

Vous devrez inclure le fichier d'en-tête qui contient les choses dont vous avez besoin dans le code qui en a besoin. Une macro n'est pas comme une fonction dans laquelle vous sautez vers le code à un autre endroit. Une macro crée du code à l'endroit où vous l'utilisez.

0

L'autre option consiste à transformer toutes vos dépendances en variables/méthodes plutôt qu'en macros littérales ou en expansions de fonctions macro. Généralement, cela se ferait via un module de services distinct fourni pour chaque environnement d'exploitation distinct.