Отрисовка зависимостей сборки C++ в Linux

Я перенес большую часть своей разработки на Linux за последние 2 года. Одна из вещей, которую я еще не понял, как мигрировать, — это отрисовка зависимостей сборки для проектов C++. В Visual Studio 2013 для этого достаточно пары щелчков мышью.

Могу ли я обмануть dotили заставить graphvizсделать рисунок за меня, подключив их к цепочке сборки? Или мне следует использовать отдельное программное обеспечение, которое берет мои исходные файлы и обрабатывает их?

Вещи которые должны быть:

  • Работает на Ubuntu.
  • Настраиваемая глубина прорисовки.
  • Возможность обработки нескольких слоев .cppи .hppфайлов.

Приятно иметь:

  • Экспорт в несколько типов файлов, включая SVG
  • Чтение файлов CMake в качестве входных данных
  • Поддержка нескольких языков (например, Python)

Конечно, если он каким-то образом может отображать интерактивный вид, это было бы еще лучше.

Если это стоит денег, цена не является главной проблемой, и ее не нужно рассматривать в этом вопросе.

Ответы (1)

Ответ на ваш вопрос заключается в том, чтобы использовать doxygen для анализа вашего кода и заставить его создавать с помощью инструмента GraphViz dot любые диаграммы, которые вам нужны.

  • Анализировать несколько уровней C++ — Да
  • Несколько языков кода — да C, C++, Python, Fortran, VHDL, PHO, Java
  • Включить в процесс сборки — Да
  • Мастер для создания конфигураций, но затем вызываемый из командной строки (или makefile, скрипт сборки и т. д.)
  • Linux - да, кроссплатформенный
  • Цена - бесплатно, бесплатно и с открытым исходным кодом
  • Также может создавать вашу документацию из кода в нескольких форматах — HTML (с дополнительным поиском, готовым .chm, панелью навигации) , LaTeX, man, RTF, XML, DocBook.
  • Много контроля над тем, какие диаграммы генерируются.

Интерфейс графического интерфейса doxygen

Это определенно выглядит многообещающе, хотя, по общему признанию, это также выглядит как много работы для начала. Я обязательно попробую.