Doxygen - The path of the dot
Albin Engström

So my programming teacher wants me to have a uml class diagram over my final project.
Since it takes to much time doing it by hand I decided to use doxygen, but the problem is Graphviz, apparently, doxygen needs to know the path to the dot.exe file in the graphviz bin directory, browsing through the net I've found the usual/official way of doing this, the official being that one adds the path too the dot.exe to the PATH environmental variable(my weak area), and set the HAVE_DOT variable in the doxygen config file to YES.

This should eleminate this error:
"Problems running dot: exit code=-1, command='dot', arguments='"graph_legend.dot" -Tpng -o "graph_legend.png"'"

But it does not.. >:(.

HAVE_DOT = YES

PATH test 1 : "...;c:\Program\Graphviz 2.21\bin\dot"
PATH test 2 : "...;c:\Program\Graphviz 2.21\bin\dot.exe"
PATH test 3 : "...;c:\Program\Graphviz 2.21\bin\"

Here's the worlds most brief instruction.

And no, none of the google results helped.

What am I doing wrong? :(

Thank you.

bamccaig

You should try opening a Command Prompt and just executing "dot", in a non-destructive way (if it has a --help option or /? switch). You can also just create a simple .bat batch file with an echo statement in it (if you're afraid of what executing dot.exe might do):

Create a text file with a .bat file extension (i.e. path_test.bat), type an echo command in it, and save it to the bin directory for Graphviz:

echo "I am a batch file in the bin directory of Graphviz."

And then, from the command line:

C:\>path_test
"I am a batch file in the bin directory of Graphviz."

If it works without a direct path then you know you did it right. How are you setting the path? From the Control Panel or Command Prompt? You only want to add the path to the directory that has dot.exe in it. You don't actually need to include dot.exe in the PATH (I'm not sure if it would work both ways or not).

Albin Engström

Assuming path_test is the name of the bat file.

It did not find it, so I guess I didn't do it right (woho).

I set the path from the control panel.
Current path is:
"c:\devkitPro\msys\bin;C:\GNAT\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program\ATI Technologies\ATI.ACE\Core-Static;C:\Games\doxygen\bin;c:\Program\Graphviz 2.21\bin\"

As you can see, I just put the directory at the end.

Don Freeman

Did you start a new command prompt after setting the path in the control panel? If not, it is not set yet.

try this at your command prompt:

echo %PATH%

Obviously from your post above, this is NOT what is actually in your path right now. The %SystemRoot% variable would actually show the correct directory.8-)

bamccaig
Albin Engström said:

Assuming path_test is the name of the bat file.

Yep, that's what I meant. Though it would be path_test.bat, technically.

Albin Engström said:

c:<b>Program</b>\Graphviz 2.21\bin\

Should it be C:<b>Program Files</b><i>etc...</i>?

Don Freeman

To bamccaig:
Not on some versions of Windows...like some non-english versions.

Albin Engström

echo %PATH% returns "c:\devkitPro\msys\bin;C:\GNAT\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program\ATI Technologies\ATI.ACE\Core-Static;C:\Games\doxygen\bin;c:\Program\Graphviz 2.21\bin\" but with %SystemRoot% replaced with C:\WINDOWS\

bamccaig said:

Should it be C:\Program Files\etc...?

This computer is actually my mothers and she uses a swedish version of windows, the default directory for programs is called Program.

I tried adding .bat to the command input and it responded.

Ah.. I just had to restart doxygen.. :P

Sorry!, thanks anyway. :)

Neil Walker

Have you set DOT_PATH?

When you rerun doxygen delete the generated html folder first.

Albin Engström

Ok.

I LOVE doxygen..

Thread #598487. Printed from Allegro.cc