我正在使用 Netbeans IDE 7.2 和 C / C ++插件(最新版本1.18.1.1)和 如果我构建我的项目一切都很好,但IDE显示错误(例如无法解析标识符......)
其他人都有这个错误,我该如何解决?
答案 0 :(得分:102)
以下是我对另一个问题的回答摘录。
未解析的标识符
如果.cpp文件的来源如下所示
在项目上单击鼠标右键。
检查C/C++ Code As...
运行Reparse Project.
如果这还不够。
转到Project Properties
按照描述填写Include
输入字段。
将包含路径设置为正确。
我希望能帮助你。
答案 1 :(得分:9)
UTF-8 WITH BOM也会导致问题。
我遇到了同样的问题,我尝试了很多可能的解决方案,但是没有一个解决方案,直到我找到了问题的根源,这有点好笑。我知道这个问题已经得到了解答,但我写下了我的解决方案,也许它会解决其他人遇到同样问题的问题。
例如,在定义struct Vector
时,我得到“无法解析标识符向量”,但它是正确的:
在声明/定义函数等时,我遇到了类似的错误。此外,由于错误的数量,我的代码帮助无效。
我在 Notepad++ 中打开了.cpp
文件,看到该文件是以常规 UTF-8 编码的,这意味着文件以byte order mark (BOM)字符开头:
所以我点击了编码→转换为没有BOM的UTF-8 :
注意:不要只切换到“在没有BOM的UTF-8中编码”,因为它会搞乱一些特殊字符(例如包含重音符号的字符等)。 )。所以转换它。
保存
问题消失了:NetBeans中再也没有报告错误:
我希望它能为其他人节省一些时间。
答案 2 :(得分:9)
我有同样的问题,但我认识到它在我改变了属性后出现 - > c ++编译器 - >编译行 - > -std = c ++ 11的其他选项。如果将设置更改为默认值,则“无法解析标识符”错误消失。
答案 3 :(得分:2)
我最近在OS X上遇到netbeans 8.0.2这个错误,但无法找到答案。
我通过卸载C / C ++插件解决了这个问题,当我重新打开netbeans时,它提示我修复代码帮助。'。
单击提示并让它运行问题已修复。
答案 4 :(得分:1)
我正在使用NetBeans 8.1,当我启动一个新的C ++项目时会出现同样的问题。它通过调试器运行项目后解决了自己。
答案 5 :(得分:0)
我们在一台计算机上开发代码并在另一台计算机上编译。在我将“构建主机”设置为远程计算机(在项目的右键单击菜单中)之前,我得到了这些令人分心的标记。
我仍然不确定开发计算机上的问题是什么,因为未解析的标识符来自标准库(size_t
,std::vector
等)并且这里的答案似乎没有帮助。
答案 6 :(得分: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
(需要删除整个&#39; var&#39;目录;当然要用您的用户名替换USER_NAME)
注意,&#39;图书馆&#39;是一个隐藏目录,但如果您启用查看隐藏文件,或者通过终端直接访问它,您仍然可以访问它。
最后,在您的计算机上,它可能位于其他地方。我通过使用终端命令观察,在过去2分钟内在我的计算机上修改了哪些文件,我发现了我:
/usr/bin/find /Users/USER_NAME/ -mmin -2 –ls
答案 7 :(得分:0)
发生这种情况时,我总是要重新安装MPLAB X.其他事情不时有效,但总是有效。
答案 8 :(得分:0)
三种解决Netbeans 12中“无法解析标识符”错误的方法。
我意识到在解决自己的问题时,正确/对齐的括号可能会导致上述错误。确保牙套保持平衡和对齐。
答案 9 :(得分:0)
复制具有 NULL 比较的代码后,我遇到了同样的问题:
while (str1[i] != ’\0’) {
out[i] = str1[i];
i++;}
搜索了很多,结果发现奇怪的’引用是问题所在, 我把它改成正常的',一切正常
while (str1[i] != '\0') {
out[i] = str1[i];
i++;}
答案 10 :(得分:-2)
试 单击右键按钮文件, 属性 - &gt;常规 - &gt;从代码辅助中排除(禁用)
答案 11 :(得分:-2)
一旦我将main.c重命名为main.cpp,我就工作了。
根据文件扩展名,Netbeans Code Assistance的行为会发生变化