visual studio proyecto programacion para instalar herramientas escritorio crear compiler como c++ visual-studio include

proyecto - visual studio c++



Mostrando la jerarquía#include para un archivo C++ en Visual Studio (7)

El compilador también es compatible con un modificador / showIncludes - no le da los números de línea, pero puede dar una vista bastante completa de lo que incluye venir de dónde.

Está en Configuración del proyecto -> Propiedades de configuración -> C / C ++ -> Avanzado -> Mostrar Incluye.

Problema: Tengo un gran proyecto de Visual C ++ que estoy tratando de migrar a Visual Studio 2010. Es una gran mezcla de material de diversas fuentes y de distintas edades. Tengo problemas porque algo incluye winsock.h y winsock2.h .

Pregunta: ¿Qué herramientas y técnicas hay para mostrar la jerarquía #include para un archivo fuente de Visual Studio C ++?

Sé acerca de cl /P para obtener la salida del preprocesador, pero eso no muestra claramente qué archivo incluye qué otros archivos (y en este caso la salida /P tiene 376,932 líneas de longitud 8-)

En un mundo perfecto, me gustaría una visualización jerárquica de qué archivos incluyen qué otros archivos, junto con los números de línea para que pueda saltar a las fuentes:

source.cpp(1) windows.h(100) winsock.h some_other_thing.h(1234) winsock2.h


Hay un ajuste:

Configuración del proyecto -> Propiedades de configuración -> C / C ++ -> Avanzado -> Mostrar Incluye

eso generará el árbol. Se asigna al compilador switch /showIncludes


Hemos encontrado que IncludeManager es una herramienta muy poderosa. No es gratuito (pero no es caro) y nos permitió controlar nuestros problemas de inclusión y reducir nuestro tiempo de compilación de 50 minutos a 8 minutos eliminando grandes fragmentos de los que no estábamos utilizando.


No es tan bueno como la característica de inclusión jerárquica de gcc, que muestra la jerarquía de inclusión de línea directa en el caso de un error. La opción "mostrar incluye" en VS muestra todo, que es excesivo cuando la depuración jerárquica incluye problemas de archivos.



Here hay una buena herramienta FOSS de terceros. Puede exportar resultados a XML, que incluirá datos sobre el número de ocurrencias y números de línea.


cl / P debería mostrarle los números de línea, de modo que pueda indicar el contexto de dónde se está incluyendo un archivo de encabezado.

Si agotas las líneas con ...

grep "^ # line" file.i

... entonces debería tener una indicación bastante clara de qué archivos se encontraron en orden por el preprocesador.

Si se trata de un incidente único, este debería ser un diagnóstico bastante rápido.