我正在使用Doxygen记录用Objective-C编写的API。
Doyxygen无法理解NS_ENUM typedef。
我找到了此解决方案,但对我不起作用。
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = NS_ENUM(x,y)=y
Regards,
Dimitri
这是我的输入文件:
/**
* Represent the possible states.
*/
typedef NS_ENUM(NSInteger, ABEnumType)
{
/**
* State A.
*/
StateA = 0,
/**
* State B.
*/
StateB
};
这是我得到的输出:
Preprocessing /src/ABEnumType.h...
error: /src/ABEnumType.h:17:17: error: C++ requires a type specifier for all declarations [clang]
error: /src/ABEnumType.h:17:28: error: unknown type name 'ABEnumType' [clang]
error: /src/ABEnumType.h:18:1: error: function definition is not allowed here [clang]
error: /src/ABEnumType.h:17:9: error: C++ requires a type specifier for all declarations [clang]
Parsing file /src/ABEnumType.h...
最佳答案
以下设置对我们有用:
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = NS_ENUM(x,y)=enum y
这样,我们就能在doxygen生成的文档中看到所有NS_ENUM结构
关于objective-c - Doxygen无法在Objective-C中检测到NS_ENUM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23102059/