虽然构建成功,但Netbeans 7.2显示"无法解析标识符"

leo*_*n22 61 c++ linux netbeans netbeans-7

我正在使用带有C/C++插件Netbeans IDE 7.2(最新版本1.18.1.1),如果我构建我的项目一切都很好,但IDE显示错误(例如无法解析标识符......)

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

mos*_*o-x 104

这是我对另一个问题的答案的摘录.

未解决的标识符

如果.cpp文件的来源是这样的

在此输入图像描述

在项目上单击鼠标右键.
检查C/C++ Code As...
运行 Reparse Project.

在此输入图像描述

如果这还不够.
转到Project Properties
如上所述填写Include输入字段.

在此输入图像描述

将包含路径设置为正确.

我希望能帮助你.


Sk8*_*ter 9

TL; DR

UTF-8 BOM可能会导致问题太多.

问题

我只是有同样的问题,我尝试了很多可能的解决方案,但没有一个工作,直到我发现问题的根源,这有点好笑.我知道这个问题已经得到了解答,但是我写下了我的解决方案,也许它会解决其他人遇到同样问题的问题.

例如,我在定义时"无法解析标识符向量"struct Vector,但它是正确的:

无法解析标识符Vector

在声明/定义函数等时,我遇到了许多与此类似的错误.此外,由于错误的数量,我的代码辅助无法正常工作.

  1. .cppNotepad ++中打开文件,看到文件是用常规UTF-8编码的,这意味着文件以字节顺序标记(BOM)字符开头:

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

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

    Notepad ++:编码 - 无BOM转换为UTF-8

    注意:不要只切换到"没有BOM的UTF-8编码",因为它会弄乱一些特殊字符(例如包含重音的字符等).所以转换它.

  3. 保存

  4. 问题消失了:NetBeans中不再报告任何错误:

    NetBeans  - 不再报告错误,问题已解决

    我希望它能为其他人节省一些时间.


小智 9

我有同样的问题,但我认识到它出现在我更改属性 - > c ++编译器 - >编译行 - >附加选项到-std = c ++ 11.如果将设置更改为默认值,则"无法解析标识符"错误消失.

  • 对我来说,设置位于标有"C++ Standard"的下拉列表中,我认为这与将其手动添加到"附加选项"实际上相同.我的非netbeans Makefile有`-std = gnu ++ 0x`,所以这也可能有效,但它必须进入'附加选项',因为它不在下拉列表中. (2认同)