DoxygenLayout.xml解析未找到显式链接请求

DoxygenLayout.xml解析未找到显式链接请求,doxygen,Doxygen,我正在从doxygen 1.8.4迁移到1.8.8。我的DoxygenLayout.xml文件有如下条目: <tab type="user" url="@ref FAQ" visible="yes" title="FAQ" intro=""/> /** \page FAQ Frequently Asked Questions \ingroup FAQ \{ FILE_PATTERNS = *.html *.htm \ *.c *.cc *.cxx

我正在从doxygen 1.8.4迁移到1.8.8。我的DoxygenLayout.xml文件有如下条目:

<tab type="user" url="@ref FAQ" visible="yes" title="FAQ" intro=""/>
/** 
\page FAQ Frequently Asked Questions
\ingroup FAQ
\{
FILE_PATTERNS = *.html *.htm \
                *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ \
                *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs \
                *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md \
                *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf \
                *.qsf *.as *.js
我的“faq.htm”文件的开头如下:

<tab type="user" url="@ref FAQ" visible="yes" title="FAQ" intro=""/>
/** 
\page FAQ Frequently Asked Questions
\ingroup FAQ
\{
FILE_PATTERNS = *.html *.htm \
                *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ \
                *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs \
                *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md \
                *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf \
                *.qsf *.as *.js
对于Doxy 1.8.4,没有问题。在1.8.8中,我看到以下警告:

explicit link request to 'FAQ' in layout file 'DoxygenLayout.xml' could not be resolved
我做错了什么

更新

我正在(并且一直在)使用这些文件模式:

FILE_PATTERNS          = *.m \
                         *.mm \
                         *.html \
                         *.h \
                         *.htm

我继续在Doxygen 1.8.10中看到这些警告,并且我的文档集无法正确生成。

发生此错误的原因是您正在引用DoxygenLayout.xml中的FAQ组,但没有与该组关联的文件

在本例中,原因可能是您的html文件没有被Doxygen读取和解析。这是因为默认的DoxygenConfig FILE_PATTERNS参数在默认情况下不包括html

尝试更改您的文件模式,以包括html和所有其他所需的扩展名,可能如下所示:

<tab type="user" url="@ref FAQ" visible="yes" title="FAQ" intro=""/>
/** 
\page FAQ Frequently Asked Questions
\ingroup FAQ
\{
FILE_PATTERNS = *.html *.htm \
                *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ \
                *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs \
                *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md \
                *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf \
                *.qsf *.as *.js
您还可以更改扩展名映射以确定哪个解析器将用于HTML文件,因为没有默认的HTML解析器。你提到的语法对我很有用

我不知道为什么会从1.8.4版更改为1.8.8版。对于版本1.8.10,这意味着这是一个常见的错误,开发人员甚至添加了文档来澄清这种行为

OP的说明-- 我需要这个映射:

EXTENSION_MAPPING      = htm=Objective-C html=Objective-C
但更严格,也没有答案。