Netbeans 7.2显示“无法parsing标识符”,虽然构build成功
我正在使用Netbeans IDE 7.2与C / C ++插件 (最新版本1.18.1.1),如果我build立我的项目一切都很好,但IDE显示错误(例如无法parsing标识符…)
任何人都有这个错误,我该如何解决?
这是我对另一个问题的回答摘录。
未parsing的标识符
如果.cpp文件的来源看起来像这样
点击您的项目上的鼠标右键。
检查C/C++ Code As...
运行Reparse Project.
如果这还不够。
转到Project Properties
按照描述填写Include
input字段。
设置正确的包含path。
我希望能帮到你。
TL; DR
带有 BOM的UTF-8也会导致问题。
问题
我也有同样的问题,我尝试了很多可能的解决scheme,但是没有一个能够解决问题,直到我发现问题的根源,这有点儿有趣。 我知道这个问题已经有了答案,但是我写下了我的解决scheme,也许它会解决别人遭遇同样问题的问题。
例如,当定义struct Vector
时,我得到了“无法parsing标识符向量” ,但它是正确的:
在声明/定义函数时,我得到了许多类似于这个的错误。另外,由于错误的数量,我的代码帮助没有工作。
解
-
我在Notepad ++中打开了
.cpp
文件,看到文件是用普通的UTF-8编码的,这意味着文件以字节顺序标记(BOM)字符开头 : -
所以我点击编码 → 转换为UTF-8没有BOM :
注意:不要只是切换到“不带BOM的UTF-8编码” ,因为它可能会弄乱一些特殊字符(例如包含重音符的字符等)。 所以转换它。
-
保存
-
问题不复存在:NetBeans中不再报告错误:
我希望能为别人节省一些时间。
我有同样的问题,但我认识到它出现后,我改变属性 – > C ++编译器 – >编译线 – >其他选项 – STD = C + + 11。 如果将设置更改为默认值,则“无法parsing标识符”错误消失。
我最近有与OS X的NetBeans 8.0.2这个错误,并找不到答案做什么。
我通过卸载C / C ++插件解决了这个问题,当我重新打开netbeans时,它促使我“修复代码帮助”。
单击提示并让其运行该问题已修复。
我们在一台计算机上开发我们的代码,并在另一台上编译 直到“设置生成主机”到远程机器(在项目的右键菜单中),我才得到这些令人分心的标记。
我仍然不确定开发计算机上的问题是什么,因为未parsing的标识符是标准库( size_t
, std::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器运行该项目后自行解决。