views:

24

answers:

2

So I'm new to using Doxygen and I was able to get it to work smoothly. I was able to document my classes and structs and it generates the HTML files perfectly. The issue I'm running into is it won't parse my main.cpp file. All the classes and structs have their own .h and .cpp files and they process fine. How do I get Doxygen to make the documentation for main.cpp? It doesn't have a .h file as this is where the program starts and ends. I wouldn't even know what to put in the .h file for main. I'm using Doxywizard in Windows.

Edit:

I put this in main and it generates a main page:

/**
@mainpage

This is a test application.

@author Alex
@date 10/21/2010
@version 1.0
*/

But then farther down the file where the function prototypes are I have this and it doesn't get parsed:

/**
@brief Error handler for the PDF writer.

It does nothing. It just has to exist.
*/
void error_handler (HPDF_STATUS   error_no,
                    HPDF_STATUS   detail_no,
                    void         *user_data)
{
}
A: 

If INPUT and FILE_PATTERNS are empty, it should search for *.cpp files (and many other patterns) in the current directory. (This from the Doxygen manual.)

Since yours are empty, I expect one of two things is going on if you're not getting main.cpp documentation:

  1. main.cpp is not in the current directory. To rule this out, make sure you're running Doxygen from the same directory as both your config file and main.cpp.
  2. There is a syntax error in your main.cpp documentation. These can be tricky to spot, as Doxygen doesn't generally abort when it encounters an error - instead it just skips ahead. If this is the problem, comb through Doxygen's output when you generate your docs line by line.

If neither of these ideas solve your problem, we might need more information. Output of ls -R, output of the Doxygen run, etc. Good luck!

ladenedge
main.cpp is in the folder that Doxygen is looking in and it doesn't show any errors in the output, just warnings from the other classes which is still processes correctly. I added some more information to my question above.
alex
A: 

I put this at the top of main.cpp and it worked. Go figure.

/**
@file main.cpp
*/
alex