我正在使用doxygen1.7.1为某些C++11代码生成文档,它似乎忽略了我的模板别名。为清楚起见,这里有一个模板别名的例子:templateusingResultOf=std::result_of::type;它也无法获取使用更清晰的新using语法编写的更多传统类型定义:usingPredicateOne=std::function;//Doxygendoesn'tcatchthistypedefstd::functionPredicateTwo;//butdoescatchthis.是否有设置或更高版本可以正确记录这些别名? 最佳答案
使用Doxygen,我偶然发现了这个警告:D://Camera.h:20:warning:documentedsymbol`enumDLLPORTct::CameraCapture::ct::CameraCapture::CamType'wasnotdeclaredordefined.现在我知道为什么Doxygen找不到那个类(命名空间显然是重复的),但我不明白的是它为什么还要搜索它。这个枚举在头文件中,在类定义的正上方,并且发现类很好,它也没有生成那些双命名空间。源代码也可以编译,所以它可能不是导致Doxygen这些问题的语法错误。具体来说,源代码如下所示:#ifdefCT_EXPO
在用Doxygen记录的C++项目中,我在Doxygen注释中将一些函数标记为\deprecated。有什么方法可以使用这些注释(使用Doxygen或其他工具)来检测另一个未弃用的函数正在调用已弃用的函数吗?(该项目非常大,完成所有类(class)会花费很多时间)。谢谢 最佳答案 如果您使用GCC或clang编译您的代码,您可以手动注释函数。__attribute__((__deprecated__))voiddep_fun(){}然后在代码中的任何位置调用dep_fun都会发出诊断消息。如果您始终如一地放置doxygen的\dep
我曾经以的风格在我的头文件中写入简单的注释//Returnsanewstringinwhichalloccurrencesofaspecifiedstringinthe//currentinstancearereplacedwithanotherspecifiedstring.//-strSubject:Thestringtoperformthereplacementon.//-strOldValue:Thestringtobereplaced.//-strNewValue:ThestringtoreplacealloccurrencesofstrOldValue.staticRUNT
我有一个在名为implementation的命名空间中实现和记录的函数。我有另一个命名空间useful,我在其中使用using来公开该功能。我不想记录implementation命名空间。相反,我希望将函数记录在useful命名空间下。我正在寻找一种在doxygen中执行此操作的简单方法。下面是一个简单的示例,我希望useful_function文档位于namespaceuseful下。现在,它正在namespaceimplementation下。///\filetest.cpp///\briefThisisabriefdescription./////////Thisisalonge
我看到大多数Doxygen文档对C++函数的注释看起来类似于///adescriptionofthefunctionormethodfollowedwithcomments,likeso///@returntrue=success,false=error///@param[in]barblahblah///@param[out]bazblahblah///@param[out]quuxblahblah///@param[out]quuuxblahblah///@param[out]quuuuxblahblahstaticboolfoo_one(int*bar,int*baz,int*q
我有一个用C++编写的项目,我也在其中使用swig生成一些C#包装器。C++代码使用Doxygen风格的注释来注释类和函数。是否可以让Swig获取这些doxygen注释并为C#包装器类和函数生成doxygen注释? 最佳答案 目前,SWIG根本不解析代码注释,包括Doxygen文档。几年来有一个SWIG分支正在开发中,以使SWIG能够处理Doxygen注释,但即使是目前(AFAIK)也只能将它们映射到Java和Python文档。因此,目前最好的选择是从C++源代码中提取Doxygen文档并将其插入到SWIG生成的包装器中。要了解如何
各位业内资深人士,我是一名大三学生,开始了我的第一个暑期编程实习,而且我已经不知所措了。我工作的公司从另一家公司购买了一个巨大的应用程序,该公司自90年代初以来一直在缓慢地扩展和修改它。该解决方案包含超过200,000行代码,分布在300多个文件中。据称,整个解决方案已按照ANSI-C++标准编写。代码几乎完全没有记录,而且大部分在我看来就像象形文字。最终,我的工作是将此代码移植到嵌入式Linux。目前,我的工作只是在WindowsXP上使用VisualStudio2008进行编译。今天,我遇到了链接器错误,例如:libcmtd.lib(sprintf.obj):errorLNK200
我如何在QtCreator中注释C++函数,以便当我将鼠标悬停在对该函数的函数调用上时,我可能会看到文档作为工具提示。就像我们做的一样/**newlineEclipsecreateacommentblockautomatically我正在Qtcreator中寻找相同的内容,请指教。 最佳答案 您可能正在寻找类似doxygen的内容.Hereareinstructions与QtCreator一起使用。 关于QtCreator中函数的C++注释,我们在StackOverflow上找到一个类似
我正在使用Doxygen来记录我的一些代码。我有一个使用默认参数的函数,该参数在header中指定,即:unsignedintCountColumns(conststd::string&,conststd::string&delim="");以及源文件中对应的实现为:unsignedintCountColumns(conststring&input,conststring&delim){...}当我使用Doxygen生成我的文档时,CountColumns有两个条目-一个包含默认值,一个不包含:unsignedintCountColumns(conststring&input,cons