2012-03-21 2 views
5

J'ajoute des tests unitaires (SenTest) à mon projet XCode 4.2 existant. XCode se plaint de ne pas trouver les fichiers d'en-tête Box2D requis. Par exemple,Fichiers d'en-tête non trouvés

Box2D/Dynamics/b2Fixture.h file not found 

Les fichiers source Box2D sont ajoutés à mon projet dans le cadre du groupe « libs ». Les fichiers d'en-tête sont trouvés sans problème lors de la construction de la cible non-test. Évidemment, je ne peux pas ajouter les fichiers d'en-tête à la cible de test, mais j'ai ajouté tous les fichiers .cpp de Box2D à cette cible. Cela a abouti à plus de "Problèmes Lexical ou préprocesseur", comme ci-dessus.

Comment indiquer à XCode où trouver ces fichiers d'en-tête?

Répondre

2

Je ne pense pas que vous ayez besoin de spécifier le dossier lorsque vous faites référence à un fichier .h. Si seul le fichier .h est ajouté au projet dans un groupe ou un sous-groupe, XCode est capable de trouver le chemin lorsque vous référencez le fichier .h uniquement par son nom.

+0

J'utilise seulement une instruction #import "Box2D.h" dans mon fichier .mm. Box2d.h, cependant, tire tout aveC#include déclarations. Je préfère ne pas fourrer Box2D pour activer la construction, et puisque la cible non-test se construit sans changer la source de Box2D, je suppose que je peux convaincre la cible de test de construire aussi bien. Mais oui, je suis sûr que tu as raison. – user371320

+0

La modification du code "Box2D.h" de à "... h" élimine l'erreur. Je voudrais juste que la cible de test trouve les fichiers d'en-tête de la même manière que la cible principale. – user371320

+0

Quelle est la différence entre la cible principale et la cible de test? Des paramètres de construction spécifiques ont-ils été modifiés? Sont-ils à la fois Debug/Release? Si je comprends votre problème, vous voulez avoir un projet avec un ensemble de fichiers différent en fonction de la cible (par exemple, ajouter l'unité testant les fichiers .m et .h uniquement pour une cible spécifique)? – Amiramix

Questions connexes