[Doxygen-users] Problem with Makros
Brought to you by:
dimitri
From: Martini, M. <M.M...@Ve...> - 2001-06-08 12:31:41
|
Hi all, I'm novice to doxygen. In our project we use version 1.2.6. (Windows Version) and we have sourcecode like this: Header: class _CLASSTYPE CImpIAutoApplication : public IAutoApplication { /* ... */ public: STDMETHOD_(ULONG, AddRef)(THIS) ; /* ... */ }; The implementation: STDMETHODIMP_(ULONG) CImpIAutoApplication::AddRef() { return ++m_ulRefCnt; } Then I inserted a few comments for all methods that belongs to that class. Doxygen identifies all comments except those for methods like this AddRef(). The documentation looks like doxygen indentifies STDMETHODIMP_ as a method name of my class. I use the following settings: ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES I tried another syntax: Declaration: ULONG STDMETHODCALLTYPE AddRef(); Implemetation: ULONG STDMETHODCALLTYPE CImpIAutoApplication::AddRef() With this syntax it works fine. I think that the makro expansion does not work on some unknown reason and that doxygen identifies the first right parenthesis as the end of the method name. But we have so much generated code that looks like the sample above. Therefore I hope that someone has an idea how doxygen can manage this without changing the syntax. Best regard Michael Martini |