Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Doxygen won't process main.cpp

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)
{
}
like image 993
Alex Avatar asked Oct 21 '10 18:10

Alex


People also ask

Does a CPP file need a main function?

All C++ programs must have a main function. If you try to compile a C++ program without a main function, the compiler raises an error.

What is Doxygen in C++?

Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, and to some extent D.


2 Answers

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

/**
@file main.cpp
*/
like image 83
Alex Avatar answered Sep 28 '22 08:09

Alex


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!

like image 24
ladenedge Avatar answered Sep 28 '22 06:09

ladenedge