J'ai été chargé de travailler sur un projet qui a des attributs déroutants.
Le projet est de la nature qu'il ne compilera pas pour le simulateur iPhone et le périphérique iPhone avec les mêmes paramètres de compilation. Je pense que cela a à voir avec avoir besoin d'être spécifiquement compilé pendant x86 ou ARM6 / 7 en fonction de la plate-forme cible. P>
de sorte que les paramètres de construction du projet, lors de la visualisation dans la vue de paramètres de construction de Xcode, ne me permettent pas de Définissez des drapeaux de compilateur spécifiques par fichiers spécifiques. Cependant, le développeur précédent qui a fonctionné sur ce projet a déclaré en quelque sorte déclaré la ligne: p> existe-t-il un moyen de le faire sans modifier le fichier de projet à la main? Je sais que l'édition du fichier de projet peut entraîner la rupture totalement, donc je préférerais ne pas faire cela, car je ne sais évidemment pas autant que le développeur précédent. P> Pour clarifier, la question est: p> La construction échoue lors de la compilation du simulateur à moins que je supprime le drapeau -fasm-block code>. La construction échoue lors de la compilation de l'appareil, sauf si j'ajoute l'indicateur code> -fasm-blocks code>. Existe-t-il un moyen de définir ce drapeau par fichier sans modifier le fichier de projet à la main? P> p>
3 Réponses :
Vous pouvez définir des drapeaux de compilateur supplémentaires pour des fichiers source individuels comme suit: p>
Cependant, cela ressemble à une meilleure solution dans votre cas consiste simplement à dupliquer la cible et à avoir deux cibles - une pour un dispositif réel et un pour le simulateur. Hériter des paramètres de construction courants du niveau de projet et simplement modifier les paramètres de construction par cible si nécessaire. P>
Merci! Cela peut donc répondre à l'autre question que j'allais demander, comment pourrais-je m'attaquer le drapeau de la compilée? Je pourrais configurer une phase de script d'exécution qui fonctionne avant la phase de sources de compilée et définit la valeur d'une variable d'environnement des indicateurs de compilateur, en fonction de la sortie de la variable d'environnement de la plate-forme cible. Le compilateur appartement doit seulement être défini sur un fichier particulier. Je pense donc que cela peut être surchargé pour configurer deux cibles et créer un drapeau de compilateur de projet ...
Call GetInfo Pour le fichier spécifique, vous pouvez définir les paramètres de construction là-bas pour ce fichier. Voir aussi le guide de gestion de projet Xcode à ce sujet. P>
Ce Blog post de Joshua Nozzi explique comment Pour ce faire dans Xcode 4, où il dit: P>
... Sélectionnez votre projet dans le navigateur de projet, sélectionnez la cible correspondante (vous pouvez en avoir une seule), puis sélectionnez l'onglet Phases de construction. Développez la phase des sources de la compilation et de l'alto! Une colonne Drapeaux compilateur vous permet de définir les indicateurs de chaque fichier pour cette cible. P> blockQuote>
Vous pouvez utiliser
#if! Cible_iphone_simulator code> pour filtrer le code ASM.