Re: Compiling without warnings issues

Hi Petr,

I’m totally mystified at first because adding the following to one of the test cpp files worked:
class TestDummy
{
public:
VALUE_OBJECT (TestDummy)
};
class TestDummy2
{
REFERENCE_OBJECT (TestDummy2)
public:
};
class TestDummy3
{
STATIC_HELPER (TestDummy3)
public:
};

Then I though that because Doxygen parses the headers and source files individually, when it parses a header file it does not know how the macros in Qt.h are defined because Qt.h is not included. So I tried setting PREDEFINED instead:

PREDEFINED = "REFERENCE_OBJECT=Class (const Class &); \
Class & operator= (const Class &);"

and that did work!

Now the question is whether we should redefine each macro from Qt.h, or maybe define only REFERENCE_OBJECT, VALUE_OBJECT and STATIC_HELPER at first? It would become unpractical if we start adding more macros to the list. A more flexible solution would be extend Doxygen (and send the patch to the project maintainer) to support yet another config option like INCLUDES = Qt.h which would instruct the preprocessor to always parse Qt.h as well.

Regards,

Peter

Would you like to post a relpy?


This post is a reply to:
Re: Compiling without warnings issues
Hi Peter, thanks for that link! Now I see that it should be possible to expand these macros to make the docs complete and that's what we actually want. I've tried this (more...)

Follow-ups:
Re: Compiling without warnings issues
PREDEFINED = "REFERENCE_OBJECT=Class (const Class &); \ Class & operator= (const Class &);" I just realized the above is not quite right... The correct form would be: PREDEFINED = "REFERENCE_OBJECT(Class)=Class (const Class &); (more...)