doxygen
doxygen copied to clipboard
explicit link request to could not be resolved
Describe the bug I have the following minimal example:
INPUT = Bar
JAVADOC_AUTOBRIEF = YES
QUIET = YES
WARN_IF_UNDOCUMENTED = YES
Bar/Mesh.h
:
#ifndef GOOSEFEM_MESH_H
#define GOOSEFEM_MESH_H
namespace GooseFEM {
/**
Generic mesh operations, and simple mesh definitions.
*/
namespace Mesh {
/**
CRTP base class for regular meshes.
*/
template <class D>
class RegularBase {
public:
/**
Linear edge size of one 'block'.
\return double
*/
auto h() const;
};
/**
CRTP base class for regular meshes in 2d.
*/
template <class D>
class RegularBase2d : public RegularBase<D> {
public:
/**
See #h
\return List of node numbers.
*/
auto nodesTopEdge() const;
};
} // namespace Mesh
} // namespace GooseFEM
#endif
This works fine, until I add
Bar/MeshQuad4.h
#ifndef GOOSEFEM_MESHQUAD4_H
#define GOOSEFEM_MESHQUAD4_H
#include "Mesh.h"
namespace GooseFEM {
namespace Mesh {
/**
Simple meshes of 3-noded quadrilateral elements in 2d (ElementType::Quad4).
*/
namespace Quad4 {
/**
Regular mesh: equi-sized elements.
*/
class Regular : public RegularBase2d<Regular> {
public:
Regular() = default;
};
} // namespace Quad4
} // namespace Mesh
} // namespace GooseFEM
#endif
Then I get
$ doxygen
.../Bar/Mesh.h:31: warning: explicit link request to 'h' could not be resolved
.../Bar/Mesh.h:31: warning: explicit link request to 'h' could not be resolved
The issue disappears when I run without
JAVADOC_AUTOBRIEF = YES
Expected behavior No warning in any case.
Screenshots
To Reproduce See above
Version 1.9.5 (works fine with 1.9.4)
Stack trace
Additional context
It looks like that the warning is given, but that the result is correct. The problem also looks like to exist for \ref h
m, but here independently of the setting of JAVADOC_AUTOBRIEF
.
It looks like the commit:
Commit: b290399fab92df45376103d7c094f053f24495fa [b290399]
Date: Tuesday, May 24, 2022 8:12:07 AM
Commit Date: Friday, June 3, 2022 9:38:54 PM
Refactoring: reimplement getDefs using symbol resolver
it the commit causing the message.
We see also that there is an improvement in the inheritance graph: 1.9.4
1.9.5
Thanks @albert-github . I had not even noticed the dependency graph, but that is very nice!
A question to workaround for WARN_IF_UNDOCUMENTED = YES
with WARN_AS_ERROR = YES
: is there an option to except such warnings (temporarily until this bug is resolved), but still throw if there are undocumented functions/parameters? I.e. it would be nice if there were ERROR_IF_UNDOCUMENTED
There is no possibility other that setting JAVA_AUTOBRIEF = NO
but this will probably give some other problems.
One could set WARN_AS_ERROR = FAIL_ON_WARNINGS
so only at the end of the run the run would stop.
Only other possibilities I see is to set WARN_AS_ERROR =NO
catch the warnings in a file (i.e. WARN_LOGFILE
), process the file outside doxygen and when warnings are left throw an error.