我想Doxygen忽略,绕过,而不是搜索我项目的以下目录:
*/.svn/*
*/docs/*
*/Properties/*
*/bin/*
Run Code Online (Sandbox Code Playgroud)
根据Doxygen FAQ:
How can I exclude all test directories from my directory tree?
Simply put an exclude pattern like this in the configuration file:
EXCLUDE_PATTERNS = */test/*
Run Code Online (Sandbox Code Playgroud)
所以,我的Doxygen文件看起来像这样:
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories. Note that the wildcards are matched
# against the file with absolute path, so to exclude all test directories
# for example use the pattern */test/*
EXCLUDE_PATTERNS = */.svn/* \
*/docs/* \
*/published/* \
*/bin/* \
*/obj/*
Run Code Online (Sandbox Code Playgroud)
Doxygen的输出是:
Searching for include files...
Searching for example files...
Searching for images...
Searching for files in directory c:/Test_Fixtures/pc_application/docs
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/.svn/tmp/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/.svn/tmp/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/html/search/.svn/tmp/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/text-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp/prop-base
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp/props
Searching for files in directory c:/Test_Fixtures/pc_application/docs/rtf/.svn/tmp/text-base
Run Code Online (Sandbox Code Playgroud)
这清楚地表明EXCLUDE_PATTERNS不起作用.我还将EXCLUDE选项设置为:
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = ../.svn \
../docs \
../published \
../docs/.svn \
../docs/.svn
Run Code Online (Sandbox Code Playgroud)
哪个也不起作用.
因此,100000美元的问题是:如何使Doxygen排除,绕过,忽略,保持清除指定的目录或文件夹(最好是有效的东西)?
我在64位CPU平台上使用Windows 7上的Doxygen Wizard,以及Doxygen 1.7.3.
Edu*_*ual 41
请注意,通配符与具有绝对路径的文件匹配
所以,只需使用绝对路径进行排除;)
PS:顺便说一下,我已经挣了很多次.关于doxyfile的评论的这一小提及似乎经常被忽视.
哎呀,我错过了你已经尝试过的细节.也许这是多行值的问题:尝试使用空格作为分隔符来内联所有路径.那个(加上绝对模式)在我最近使用doxygen的几个系统上已经足够了.
我做了一些更深入的测试,还看了一下doxyfile的文档.正确的语法是使用空间进行分离.如果您真的想要多线,支持和记录的语法将是:
EXCLUDE_PATTERNS = */.svn/*
EXCLUDE_PATTERNS += */docs/*
EXCLUDE_PATTERNS += */published/*
# and so on
Run Code Online (Sandbox Code Playgroud)
另外,仔细看看排除模式是如何工作的:包含目录本身,然后将根据排除模式测试其中的所有内容(因为它将始终匹配),在每个文件的基础上排除.
所以仔细看看你的输出:这些Searching for files in directory行应该在那里(doxygen将搜索目录,但在其上找不到任何内容,因为所有内容都被排除在外); 你在这些目录中获取Parsing code for file或Generating docs for获取任何内容吗?如果你没有得到任何这些,这意味着一切正常(搜索目录,但不包括任何内容).如果确实包含了文件,请+=尝试使用空格分隔或语法.我在文档上看不到任何内容,甚至暗示你的\语法可行(当然,我可能忽略了一些东西).