Eclipse / CDT编辑器在着色ifdef'ed out部分时没有选择项目定义的符号

时间:2010-06-01 17:19:55

标签: eclipse eclipse-cdt

我看到的问题是,在首选项下,不同配置/目标的C / C ++定义符号未显示在代码着色中。

当我在项目菜单中更改活动的构建配置时,我希望编辑器&代码着色从项目设置中选取符号,但它似乎只是为其中一个目标拾取符号。

有没有办法让ifdef'ed代码的代码着色遵循活动的构建配置?

4 个答案:

答案 0 :(得分:20)

我通过设置'Window-> Preferences-> C / C ++ - > Indexer->使用主动构建配置'

在我的系统上解决了这个问题

答案 1 :(得分:4)

回应phord的评论。将索引器设置更改为“使用活动配置”后,您需要将项目的活动conf更改为其他设置然后再返回。然后它接受了变化。

答案 2 :(得分:2)

只是符号选项的一小部分: 给它值1

对我有用的是:

  • 将定义名称复制到剪贴板(假设我们有:#ifdef DBG_TYP_1)
  • 在项目资源管理器中选择项目
  • 转到 - 项目 - >属性 - > C / C ++常规 - >路径和符号
  • 在“#Symbols”标签
  • 添加符号 DBG_TYP_1 ,值为1

感谢您的提示!

答案 3 :(得分:0)

尝试使用项目的发现选项。 (右键单击项目,选择Properties,进入C / C ++ Build,然后选择Discovery Options。)

您可能需要在更改其构建配置后重建项目,以便Eclipse重新运行其发现,或者您可能需要更改每个配置的发现选项以使它们生成不同的结果。 (对不起,这不是我玩过的CDT的一个区域。)