J'essaye de construire un projet Xcode avec GNUStep-make. À l'heure actuelle, le projet est très petit (3 classes), mais il passera à des centaines de classes au cours des prochaines semaines, alors j'essaie de tout comprendre et bien organisé maintenant.GNUStep make avec un en-tête .pch précompilé (et préfixé) du projet Xcode?
Xcode crée un fichier ProjectName_Prefix.pch qui est un en-tête qui: a) est précompilé et b) est préfixé à chaque fichier de mon projet; au moins si je comprends bien.
Maintenant, comment puis-je dire à GNUStep-make quoi faire avec ce fichier lors de sa construction? Je l'ai ajouté à la variable XXX_PRECOMPILED_HEADERS.
Cioccolata_OBJC_PRECOMPILED_HEADERS = Cioccolata_Prefix.pch
Avec cela en place la construction échoue avec l'erreur:
Making all for framework Cioccolata...
make[1]: *** No rule to make target `/Users/chris/Projects/Mac/Cioccolata/build/GNUStep/obj/PrecompiledHeaders/ObjC/Cioccolata_Prefix.pch', needed by `internal-precompile-headers'. Stop.
make: *** [Cioccolata.all.framework.variables] Error 2
J'ai aussi ce qui suit dans mon makefile:
ADDITIONAL_OBJC_FLAGS += -include Cioccolata_Prefix.pch -Winvalid-pch
Je ne sais pas ce que je J'ai mal fait ici. J'ai essentiellement essayé de suivre la documentation de GNUStep pour les en-têtes précompilés.
Aucun des fichiers source de mon projet n'inclut expressément le framework Foundation car cet en-tête le fait.
Pouvez-vous compiler quelque chose * sans * le fichier pch? Juste une classe de test simple ..? En général, les personnes sur la liste GNUstep sont très utiles, et peu de gens sur SO semblent en savoir beaucoup sur GNUstep, donc je vous conseille de demander là. (Pour ma part, je ne peux pas répondre à votre question.) – Felixyz
À condition de modifier chacun de mes fichiers .m pour ajouter le contenu du fichier .pch, alors oui, il se construit correctement. Cependant, j'aimerais comprendre comment utiliser l'en-tête précompilé avec GNUStep car c'est une fonctionnalité qui est apparemment supportée. – d11wtq
En regardant la transcription de Xcode, il passe '-objectif-c-header' à gcc lorsqu'il précompile l'en-tête. Je ne suis pas sûr de savoir comment faire cela juste pour la phase de construction des en-têtes précompilés avec GNUStep-make. – d11wtq