J'aimerais générer automatiquement une liste de dépendances de Makefile, mais j'utilise Visual Studio 2005. Si j'avais l'aide de GCC, je pourrais passer -m (ou l'une des nombreuses variantes) pour créer cette liste de dépendance. P >
Recherche par les options de ligne de commande sur CL.EXE CODE>, je ne vois rien d'évident. Je peux supporter de peaufiner la sortie avec post-traitement, mais plus le plus proche. P>
5 Réponses :
Pas directement avec Cl.exe, mais avec cet emballage, vous pouvez obtenir ce que vous recherchez: p>
Est-ce que cela fonctionne avec le drapeau -M code> de GCC? La plupart des mappages de drapeau du compilateur seraient triviaux, mais celui-ci nécessite un pré-processeur (ou quelque chose comme ça).
Le compilateur VC ++ a une option de prétraitement uniquement, mais cela ne fera pas cela. Le -M. * Code> Paramètres que l'OP veut faire partie des personnes non prises en charge par ce package. Voir le bas de
ccfile.cfg code>, si vous l'avez installé ou Pastebin.com/m1707AA02 < / a>
Je devais faire face à ce problème exact. Nous voulions ajouter un script qui remplace l'option -m. Voici comment je l'ai fait: p>
C'est comme ça que je l'ai fait et ça a fonctionné. Bonne chance! P>
Vous pouvez utiliser Visual Studio pour cette tâche. Un très joli préprocesseur autonome est MCPP code>. Vous pouvez le trouver ici
http://mcpp.sourceforge.net/ code>.
Je ne l'ai pas encore impliqué, mais cela semble être la meilleure solution. L'utilisation de Visual Studio sonne comme le chemin correct et évite de devoir avoir des ensembles de drapeaux séparés pour passer (une pour les dépendances et une autre pour la construction).
Pas besoin d'écrire quoi que ce soit, plus. MCPP code> a tout ce dont vous avez besoin. Vous pouvez simplement l'appeler après avoir compilé vos sources avec les drapeaux habituels GCC prendraient également E.G
-MMD -MP code>.
Nous avons eu le même problème avec Fortran et nous avons fini par avoir à écrire notre propre mini-compilateur pour analyser le code source et traverser tout le #includes code>. P>
Combien de temps avez-vous eu à faire cela?
Dans le CL.EXE de Visual Studio 2005 au moins, il y a l'option / showincllues code>. p>
Le compilateur stocke les dépendances dans le fichier .Idb intermédiaire. Vous pourriez être capable de l'analyser à partir de là. P>
voir https://msdn.microsoft.com/en-us/ Bibliothèque / kfz8ad09.aspx p>
Vous pouvez trouver tous les fichiers inclus préfixés avec "/ mr / inversedeps /" ou "/ ipm / en-tête /" là-bas, semble-t-il. P>
Je pense que vous devriez également trouver des dépendances dans d'autres fichiers intermédiaires, par ex. "Cl.read.1.tlog". P>