解决Keil MDK中no browse info for symbol in this context问题

2021-01-21

解决Keil MDK中“no browse info for symbol in this context”问题

简介

在使用Keil MDK进行嵌入式开发时,有时会遇到点击跳转变量或函数名定义或声明时,提示“no browse info for symbol in this context”的问题。本文将详细介绍该问题的成因及解决方法。

问题描述

在Keil MDK中,当尝试通过点击变量或函数名来跳转到其定义或声明时,可能会遇到以下错误提示:

no browse info for symbol in this context

这通常意味着Keil无法找到该符号的浏览信息,导致无法进行跳转。

可能原因

  1. 项目浏览信息未生成:Keil软件依赖于生成的浏览信息来进行符号跳转。如果项目的浏览信息未生成或已损坏,就会导致无法跳转。
  2. 项目配置错误:可能是由于项目配置错误导致无法生成或使用浏览信息。
  3. 函数定义不可见:如果函数定义位于其他文件或库中,但未将其包含在项目中,就会导致无法找到函数定义。
  4. 函数定义不在当前上下文中:有时,如果在错误的上下文中进行函数定义的查询,就会出现该提示。

解决方法

  1. 重新生成浏览信息
    • 打开Keil MDK,进入项目设置。
    • 在“Output”选项卡中,确保勾选“Browse Information”。
    • 重新编译项目,生成浏览信息。
  2. 检查项目配置
    • 确保项目配置正确,特别是编译器版本和路径设置。
    • 如果项目使用的是旧版本的编译器(如v5),可能需要下载并安装相应的编译器版本。
  3. 包含相关文件或库
    • 确保所有相关的源文件和库文件都已正确添加到项目中。
    • 在项目设置中,检查“C/C++”选项卡中的“Include Paths”和“Preprocessor Symbols”设置。
  4. 在正确的上下文中查询
    • 确保在正确的文件或上下文中进行函数定义的查询。
    • 如果函数定义在其他文件中,确保包含相应的头文件。

总结

通过以上步骤,可以有效解决Keil MDK中“no browse info for symbol in this context”的问题,确保能够顺利进行变量和函数名的跳转。

下载链接

解决KeilMDK中nobrowseinfoforsymbolinthiscontext问题