62

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

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

4

12 回答 12

108

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

未解析的标识符

如果 .cpp 文件的源代码如下所示

在此处输入图像描述

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

在此处输入图像描述

如果这还不够。
转到按照说明Project Properties
填写Include输入字段。

在此处输入图像描述

正确设置包含路径。

我希望这可以帮助你。

于 2013-02-16T20:11:42.137 回答
10

i had the same problem, but i recognized it appears after i changed properties-> c++ compiler -> Compilation Line -> additional options to -std=c++11. if change the settings to default the error "unable to resolve identifier" disapears.

于 2014-04-14T21:47:45.730 回答
9

TL;博士

UTF-8 WITH BOM 也会导致问题。

问题

我刚刚遇到同样的问题,尝试了很多可能的解决方案,但都没有奏效,直到我找到了问题的根源,这有点好笑。我知道这个问题已经得到解答,但我写下我的解决方案,也许它会解决其他人遇到同样问题的问题。

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

无法解析标识符向量

在声明/定义函数等时,我遇到了许多与此类似的错误。此外,由于错误的数量,我的代码帮助不起作用。

解决方案

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

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

  2. 所以我点击了EncodingConvert to UTF-8 without BOM

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

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

  3. 节省

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

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

    我希望它也可以为其他人节省一些时间。

于 2013-09-22T12:54:08.870 回答
3

我最近在 OS X 上使用 netbeans 8.0.2 时遇到了这个错误,并且找不到要做什么的答案。

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

单击提示并让它运行问题已得到修复。

于 2017-04-07T13:22:55.127 回答
1

我正在使用 NetBeans 8.1,当我开始一个新的 C++ 项目时出现了同样的问题。它在通过调试器运行项目后自行解决。

于 2017-05-30T23:44:49.440 回答
0

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

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

于 2014-05-13T12:26:53.540 回答
0
于 2021-02-26T05:31:30.923 回答
0

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

这一次它没有工作。我的项目,我编译了数千次,它总是有效,在输入文本时突然崩溃 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 文件中,此结构中的任何变量都无法解析,但项目已编译并运行良好。

经过一个令人沮丧的尝试,这解决了我的问题:擦除了整个 MPLABX 缓存目录。

就我而言,它位于:

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

(需要删除整个 'var' 目录;当然,将 USER_NAME 替换为您的用户名)

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

最后,在您的计算机上,它可能在其他地方。我通过使用终端命令查看最近 2 分钟内在我的计算机上修改了哪些文件找到了我的:

/usr/bin/find /Users/USER_NAME/ -mmin -2 –ls
于 2016-08-05T19:33:29.790 回答
0

解决 Netbeans 12 中“无法解析标识符”错误问题的三种方法。

  1. 右键单击“项目”。选择“代码帮助”。清理 C/C++ 缓存。重启IDE。
  2. 右键单击“项目属性”--->转到构建->在 C/c++ 编译器下,在每个 C/C++ 项目上将 C 和 C++ 编译器设置为相同的标准。
  3. 在工具--> 选项--> C/C++--> 代码帮助下,将:__cplusplus=199711L 更改为:__cplusplus=201402L 用于 C++14 或 __cplusplus=201103L 用于 C++11

我意识到在解决我自己的问题时,正确/对齐的括号可能会导致上述错误。确保您的牙套平衡且对齐。

于 2020-10-05T15:29:47.797 回答
0

发生这种情况时,我总是必须重新安装 MPLAB X。其他事情有时会起作用,但这总是有效的。

于 2016-08-17T20:47:19.610 回答
-2

一旦我将我的 main.c 重命名为 main.cpp,我的就工作了。

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

于 2015-05-13T09:17:36.207 回答
-3

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

于 2014-12-23T09:17:16.923 回答