Dibujar dependencias de ensamblado de C++ en Linux

He estado moviendo la mayor parte de mi desarrollo a Linux durante los últimos 2 años. Una de las cosas que aún no he descubierto cómo migrar es dibujar dependencias de ensamblado para proyectos de C++. En Visual Studio 2013, esto es cuestión de un par de clics del mouse.

¿Puedo engañar doto graphvizhacer el dibujo por mí enganchándolos en la cadena de construcción? ¿O debería usar un software independiente que tome mis archivos fuente y los redacte?

Debe tener:

  • Se ejecuta en Ubuntu.
  • La profundidad de dibujo configurable.
  • Capaz de manejar múltiples capas de .cppy .hpparchivos.

Agradable tener:

  • Exporte a múltiples tipos de archivos, incluido SVG
  • Leer archivos CMake como entrada
  • Soporte para múltiples idiomas (por ejemplo, Python)

Por supuesto, si de alguna manera puede generar una vista interactiva, sería aún mejor.

Si vale la pena el dinero, el precio no es el problema principal y no es necesario considerarlo para esta pregunta.

Respuestas (1)

La respuesta a su pregunta es usar doxygen para analizar su código y hacer que produzca, a través de la herramienta de puntos GraphViz, cualquier diagrama que necesite.

  • Analizar múltiples capas de C++ - Sí
  • Múltiples lenguajes de código - Sí C, C++, Python, Fortran, VHDL, PHO, Java
  • Incluir en el proceso de compilación - Sí
  • Asistente para generar configuraciones, pero luego se puede llamar desde la línea de comando (o archivo MAKE, script de compilación, etc.)
  • Linux - Sí, es multiplataforma
  • Precio: gratis, gratis y de código abierto
  • También puede generar su documentación, a partir del código, en varios formatos: HTML (con búsqueda opcional, .chm ready, panel de navegación) , LaTeX, man, RTF, XML, DocBook.
  • Mucho control sobre qué diagramas se generan.

interfaz gráfica de usuario de doxygen

Eso definitivamente parece prometedor, aunque es cierto que también parece mucho trabajo para comenzar. Definitivamente le daré una oportunidad.