我很难让 Eclipse Indexer (Codan) 识别头文件中的某些数据声明。Index all header variables有一个新的偏好,但很少解释这意味着什么。启用首选项似乎可以解决问题。但我仍然想知道偏好到底是做什么的。
问问题
1726 次
1 回答
3
假设您有这样的标题a.h
:
#pragma once
#ifndef SYMBOL
#define SYMBOL int
#endif
struct S
{
SYMBOL sym;
};
现在,如果您像这样包含标题:
struct UserSymbol
{
int i, j, k;
};
#define SYMBOL UserSymbol
#include "a.h"
S var;
int main()
{
var.sym.i = 123;
return 0;
}
那么 Eclipse CDT 可能无法识别sym.i
。
您可能有更复杂的示例,包含更深的嵌套包含等。
编辑:
但是,如果您a.h
将“索引特定标头的所有变体”列表中包含或选中“索引所有标头变体”,Eclipse 将构建a.h
索引的多个变体,并“知道”您已经定义了特定的SYMBOL
.
于 2015-04-14T08:07:28.777 回答