Problème : J'ai un gros projet Visual C++ que j'essaie de migrer vers Visual Studio 2010. Il s'agit d'un énorme mélange d'éléments provenant de différentes sources et de différents âges. Je rencontre des problèmes parce que quelque chose inclut à la fois winsock.h
y winsock2.h
.
Question : Quels sont les outils et les techniques permettant d'afficher les #include
hiérarchie pour un fichier source de Visual Studio C++ ?
Je connais cl /P
pour obtenir la sortie du préprocesseur, mais cela ne montre pas clairement quel fichier inclut quels autres fichiers (et dans ce cas, le fichier /P
la sortie est longue de 376 932 lignes 8-)
Dans un monde parfait, j'aimerais avoir un affichage hiérarchique des fichiers qui incluent d'autres fichiers, ainsi que les numéros de ligne afin de pouvoir accéder aux sources :
source.cpp(1)
windows.h(100)
winsock.h
some_other_thing.h(1234)
winsock2.h
5 votes
Pour les personnes qui recherchent une solution GCC/Clang, utilisez
gcc -H -fsyntax-only ...
pour éditer la hiérarchie. Crédits à stackoverflow.com/a/18593344/427545