希望这不是重复......不应该因为我尝试了通常提供的修复程序。
我使用配置为Classes
的Elipse CDT(Juno / 3.8,Linux)作为默认Methods
,为Doxygen
和Documentation Tool
自动生成评论时遇到问题
在输入 /** + ENTER
时,我仍然会获得方法参数的空注释区域:
/**
*
*/
以下是我已经尝试过但没有成功的事情:
两者都会导致相同的结果。
注意:不确定Eclipse配置发生了什么(以前它工作正常)。我是否可以删除Doxygen预设(可能是按Windows > Preferences > C/C++ > Code Style > Code Templates > Restore Defaults
)。在那种情况下如何让它回到Doxygen风格?
编辑:我对这个问题有了新的认识......
基本上,这是我项目的全局变化(实际上是shared library
)。出于某些跨平台的可移植性原因,我必须在所有类之前添加MACRO
,如下所示:
class LIB_CLASS LabOneOfMyClasses {
public:
...
}
不幸的是,这样做似乎打破了CDT生成智能功能标题的能力(@param
,@return
,...)。因此暂时删除MACRO,可以避免这种不愉快的行为。这很烦人,我应该向CDT的工作人员报告......
注意:最后,无论如何都要在Doxygen中正确处理。
如果某人有一个好主意,我错过了什么,关于那个?
答案 0 :(得分:2)
您可以创建编译器抽象标头来解决此问题。在eclipse中为您的构建配置定义自定义符号。转到eclipse中的Project > Properties > C/C++ General > Paths and Symbols > Symbols > GNU C/C++
并定义一个新的唯一符号,如#__ECLIPSE_CDT__
。
在编译器抽象头中,您可以编写以下内容:
#ifdef __ECLIPSE_CDT__
# define LIB_CLASS
#else
# define LIB_CLASS <required normal content>
#endif
如果你一直在你的文件中包含这个编译器抽象头,那么当你的编译器找到并使用正确的定义时,eclipse会将LIB_CLASS扩展为空。