Eclipse CDT:强制索引条件编译的代码

Eclipse CDT: force indexing conditionally compiled code

本文关键字:条件 编译 代码 索引 CDT Eclipse      更新时间:2023-10-16

我们的代码库根据编译时配置有条件地编译代码。Eclipse中的CDT插件目前不索引编译出来的代码,所以如果函数定义在#ifdef内,我就不能跳转到它。我怎样才能使索引工作?

如果忽略条件,代码就不能编译。在这种情况下,该功能(在一般情况下)无法工作。

我建议使用一个构建配置,定义编译所有块所需的所有符号。当然,这就意味着不用

#ifdef FEATURE_X
    code;
#else
    other code;
#endif

你将不得不使用更麻烦的

#ifdef FEATURE_X
    code;
#endif
#ifdef FEATURE_Y
    other code;
#endif

因此您可以让索引器与-DFEATURE_X -DFEATURE_Y一起工作。但是,您不能在这样的配置中进行调试,因为两个块都会同时执行