如何忽略doxygen中生成的代码
因此,我们正在一个大项目中使用强氧 一些源代码是在构建过程中生成的, 如如何忽略doxygen中生成的代码,doxygen,Doxygen,因此,我们正在一个大项目中使用强氧 一些源代码是在构建过程中生成的, 如my\u生成的\u代码\u片段.h 它在源代码中使用,如下所示 文件foo.cc void foo() { #include "my_generated_code_fragment.h" } 现在,在源代码管理下从存储库运行doxygen时, doxygen正确地抱怨缺少文件my\u-generated\u-code\u fragment.h, 错误如下: foo.cc:1234:警告:包含文件my\u生成的\u代码\u片
my\u生成的\u代码\u片段.h
它在源代码中使用,如下所示
文件foo.cc
void foo()
{
#include "my_generated_code_fragment.h"
}
现在,在源代码管理下从存储库运行doxygen时,
doxygen正确地抱怨缺少文件my\u-generated\u-code\u fragment.h
,
错误如下:
foo.cc:1234:警告:包含文件my\u生成的\u代码\u片段.h不是
找到时,可能您忘记添加其目录以包含\u路径
问题
我们不想先执行完整构建,只想生成缺少的
文件,以便生成文档。
请注意,生成的代码并不包含doxygen注释
迄今为止考虑的解决办法
my\u generated\u code\u fragment.h
强氧剂
这在构建脚本中造成了复杂性,
在不同的项目中,“使用doxygen”现在有所不同,
因为包含生成代码的文件不同
void foo()
{
#ifndef IN_DOXYGEN
#include "my_generated_code_fragment.h"
#undef IN_DOXYGEN
}
并设置预定义的
这是迄今为止考虑的最佳解决方案,但它意味着更改代码
问题:
是否有更好的选择,例如使用Doxyfile中的设置告诉doxygen
该文件my\u生成的\u code\u片段.h
预计将丢失,
应该被忽略吗
注:
EXCLUDE
对此不起作用,
因为在解析文件foo.cc
时会看到错误,而不是在解析生成的代码时
目前正在使用doxygen 1.8.5版。记录当时采取的解决方案
解决方案3,在使用doxygen构建时使用预处理器标志,并更改代码中使用生成内容的(小)部分效果良好
这允许在“原始”源代码上使用doxygen,源代码取自git。我决不是doxygen内部的专家。但我相信最好的选择是(3),使用预处理器标志。请告诉我们您是如何解决这个问题的。