Netbeans 7.2显示“无法parsing标识符”,虽然构build成功

我正在使用Netbeans IDE 7.2C / C ++插件 (最新版本1.18.1.1),如果我build立我的项目一切都很好,但IDE显示错误(例如无法parsing标识符…)

任何人都有这个错误,我该如何解决?

这是我对另一个问题的回答摘录。

未parsing的标识符

如果.cpp文件的来源看起来像这样

在这里输入图像说明

点击您的项目上的鼠标右键。
检查C/C++ Code As...
运行Reparse Project.

在这里输入图像说明

如果这还不够。
转到Project Properties
按照描述填写Includeinput字段。

在这里输入图像说明

设置正确的包含path。

我希望能帮到你。

TL; DR

带有 BOM的UTF-8也会导致问题。

问题

我也有同样的问题,我尝试了很多可能的解决scheme,但是没有一个能够解决问题,直到我发现问题的根源,这有点儿有趣。 我知道这个问题已经有了答案,但是我写下了我的解决scheme,也许它会解决别人遭遇同样问题的问题。

例如,当定义struct Vector时,我得到了“无法parsing标识符向量” ,但它是正确的:

无法解析标识符向量

在声明/定义函数时,我得到了许多类似于这个的错误。另外,由于错误的数量,我的代码帮助没有工作。

  1. 我在Notepad ++中打开了.cpp文件,看到文件是用普通的UTF-8编码的,这意味着文件以字节顺序标记(BOM)字符开头

    Notepad ++  - 以UTF-8和BOM编码的文件

  2. 所以我点击编码转换为UTF-8没有BOM

    Notepad ++:编码 - 转换为UTF-8,不含BOM

    注意:不要只是切换到“不带BOM的UTF-8编码” ,因为它可能会弄乱一些特殊字符(例如包含重音符的字符等)。 所以转换它。

  3. 保存

  4. 问题不复存在:NetBeans中不再报告错误:

    NetBeans  - 没有错误报告了,问题解决了

    我希望能为别人节省一些时间。

我有同样的问题,但我认识到它出现后,我改变属性 – > C ++编译器 – >编译线 – >其他选项 – STD = C + + 11。 如果将设置更改为默认值,则“无法parsing标识符”错误消失。

我最近有与OS X的NetBeans 8.0.2这个错误,并找不到答案做什么。

我通过卸载C / C ++插件解决了这个问题,当我重新打开netbeans时,它促使我“修复代码帮助”。

单击提示并让其运行该问题已修复。

我们在一台计算机上开发我们的代码,并在另一台上编译 直到“设置生成主机”到远程机器(在项目的右键菜单中),我才得到这些令人分心的标记。

我仍然不确定开发计算机上的问题是什么,因为未parsing的标识符是标准库( size_tstd::vector等)的东西,这里的答案似乎没有帮助。

尝试按右键单击文件,属性 – >常规 – >从代码帮助中排除(禁用)

我的工作曾经把我的main.c重命名为main.cpp。

根据文件扩展名,Netbeans Code Assistance的行为会发生变化

发生这种情况时,我总是必须重新安装MPLAB X. 其他的东西时常工作,但总是有效的。

我经常有这个错误,正如其他人提到的,通常我添加空格字符,保存文件,删除空格字符…所有标识符都解决了。

这一次没有用。 我的项目,我编译了上千次,而且一直运行,在input文本时突然崩溃了MPLAB X IDE v3.35(Mac OSX,但可能无所谓)。 在此之后,我只有一个文件,只有一个结构,所有的标识符都没有解决。

profile.h文件中的结构是:

 typedef struct { int state; ///< state machine current state int enabled; ///< machine can be ENABLED or DISABLED int flag; ///< to initiate profile execution ... many variables here ... unsigned long timestamp; ///< variable used for local timing } profile_struct; 

在我的profile.c文件中,这个结构中的任何variables都没有解决,但项目编译和工作正常。

经过一个令人沮丧的小时,这解决了我的问题: 擦除整个MPLABXcaching目录。

就我而言,它位于:

 /Users/USER_NAME/Library/Caches/mplab_ide/dev/v3.35/var 

(需要删除整个'var'目录;当然用你的用户名replaceUSER_NAME)

请注意,“图书馆”是一个隐藏的目录,但是如果您启用查看隐藏文件,或者直接通过terminal直接访问它,您仍然可以访问它。

最后,在你的电脑上,它可能在别的地方。 我通过使用terminal命令观察,在过去2分钟内在我的计算机上修改了哪些文件,我发现了它:

 /usr/bin/find /Users/USER_NAME/ -mmin -2 –ls 

我使用的是NetBeans 8.1,当我开始一个新的C ++项目时popup同样的问题。 它通过debugging器运行该项目后自行解决。