Невозможно сгенерировать диаграмму Doxygen

Я пытаюсь нарисовать диаграмму взаимодействия с Doxygen, используя внешнюю утилиту Mscgen.

Это исходный файл:

/// test.h

/** Interaction diagram.
 * Test.
 *  \msc "Test interaction diagram"
 *      A,B,C;
 *      B->C;
 *      A<-B;
 *  \endmsc
*/

class A {};

class B {};

class C {};

Я установил mscgen.exe исполняемый файл, и я установил его путь в переменной окружения.

Когда запускаю Doxygen, из его журнала это все, что я получаю в связи с диаграммами взаимодействия: "Поиск msc-файлов...".

Конечный вывод Doxygen содержит заполнитель для отсутствующей диаграммы взаимодействия и метку "Тестировать диаграмму взаимодействия".

Я должен что-то упустить в файле Doxyfile. Как я могу заставить Doxygen позвонить mscgen.exe исполняемый файл?

Глядя на сгенерированные файлы PNG, тот, который ищет Doxygen, отсутствует, поэтому я полагаю, mscgen.exe не бежал вообще.

Это сгенерированный Doxygen HTML-блок кода:

<div align="center">
<img src="../../msc_inline_mscgraph_1.png" alt="msc_inline_mscgraph_1" border="0" usemap="#msc_inline_mscgraph_1.map">
<map name="msc_inline_mscgraph_1.map" id="msc_inline_mscgraph_1.map"></map>
<div class="caption">
Test interaction diagram</div>
</div>

2 ответа

Попробуйте удалить подпись. У меня такая же проблема на Windows. У меня нет других удобных платформ для сравнения результатов и определения, является ли это проблемой только для Windows. Когда я делаю:

@msc "hello, world"
   a, b;
   a => b;
@endmsc

Цифра не генерирует. Если я удалю подпись, вот так:

@msc
   a, b;
   a => b;
@endmsc

Цифра генерируется, но подписи нет. Когда заголовок присутствует, я вижу ошибку:

ошибка: не удалось открыть путь к файлу карты на моем локальном компьютере отредактирован /docs/html/inline_mscgraph_2.msc.map для включения в документы!

Интересно то, что файл не генерируется, когда нет заголовка - разница в том, что Doxygen, похоже, не заботится о том, что файл карты не существует. Я не видел очевидного варианта, который контролирует генерацию файла карты.

Извините, только для частичного ответа через несколько месяцев после первоначального вопроса. Я нашел Google, чтобы найти ответ на тот же вопрос, и надеюсь, что это, по крайней мере, позволит другим получить диаграммы последовательности без подписей.

У меня была точно такая же проблема, и я обнаружил, что причиной является синтаксическая ошибка в msc-части. Как только я получил это без ошибок, все это хорошо построить.

Мне понадобилось время, чтобы определить проблему. Поиск привел меня к теме парня " Проблема с графиком MS", у которой была та же проблема и решение:

[...] Если в теге msc есть синтаксическая ошибка, то в конце генерации я получаю следующее сообщение об ошибке:

ошибка: не удалось открыть файл карты [...]

Другие вопросы по тегам