Невозможно сгенерировать диаграмму 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 есть синтаксическая ошибка, то в конце генерации я получаю следующее сообщение об ошибке:
ошибка: не удалось открыть файл карты [...]