2011-06-18 1 views
1

Est-ce possible?gcc/xCode - #include qui ne déclenche pas d'erreur (ou d'avertissement) si le fichier n'existe pas?

Fondamentalement, ce que je veux faire quelque chose comme ceci:

#includeIfItExists "header.h" 

et si header.h n'existe pas, le compilateur continue simplement sur son petit bonhomme de chemin.

+0

Pourquoi voudriez-vous faire une telle chose? –

+0

Je pourrais installer un tel fichier et mettre des définitions de macro de débogage (ou le code de débogage, d'ailleurs) dedans. Si je ne l'inclue pas dans mon dépôt, il n'y aura aucune chance de le pousser vers le serveur, et aucun impact sur les autres personnes travaillant sur le projet. En outre, c'est de loin le moyen le plus propre de faire ce genre de chose. –

+0

De loin le moyen le plus simple est d'ajouter une étape de construction "Run Script" au début qui touche le fichier. Vous aurez également besoin de le lister dans les sorties de l'étape de construction, donc l'algorithme de suivi des dépendances de XCode le sait. –

Répondre

0

Je ne suis en aucun cas un expert C mais je ne crois pas que ce soit possible nativement. Je pense que la route recommandée serait de passer dans une macro nommée au niveau du compilateur en utilisant -D et si elle est (ou éventuellement n'est pas) définie, effectuez votre include. De cette façon, la personne qui compile le programme doit prendre la décision consciente d'ignorer l'inclusion (ou l'inclure).