【问题标题】:"Unable to resolve..." in NetBeans 6.7.1, Linux, C++NetBeans 6.7.1、Linux、C++ 中的“无法解析...”
【发布时间】:2010-11-29 16:45:52
【问题描述】:

我正在与一个小组一起在 NetBeans 中开发一个 C++ 项目。

出于某种原因,即使包含正确的库,NetBeans 仍将诸如“string”、“endl”、“cout”之类的内容报告为“无法解析”。

项目按预期编译和运行,所以归根结底,这没什么大不了的,只是将所有内容都标记为错误会很烦人。

我无法找到有关此错误的任何信息。博客中只有一个模糊的参考。有其他人经历过吗?

显然它没有广泛传播,因此必须有一个设置/配置导致它。有谁知道谁来防止这种情况发生?

编辑:

不,这些“错误”仅存在于 IDE 中。代码编译良好并运行。开发者使用了“using namespace std;”所以应该没有问题。 NetBeans IDE 似乎有问题。

示例代码:

#include <stdlib.h>
#include <string>
#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
   string test;
   test = "Why?";

   cout << test << endl;

   return (EXIT_SUCCESS);
}

这段代码编译并打印出“为什么?”但在 IDE 中将“string”、“cout”和“endl”标记为错误。显式使用 std:: 没有区别

清理编辑:

对于任何感兴趣的人,几天后我有 6 个可用于 NetBeans 的更新。安装此更新后,尽管代码未更改,但问题已得到纠正。所以,显然这是一个 NetBeans 错误。

【问题讨论】:

  • 您是在代码编辑期间在 IDE 中看到这些问题,还是在编译阶段看到这些问题?
  • 仅在编码期间在 IDE 中。一切都编译并运行,没有错误或警告。这是完全有效的代码,NetBeans 恰好不同意
  • 在编写 c++ 时,您应该包含 &lt;cstdlib&gt; 而不是 &lt;stdlib.h&gt;。 cstdlib 将利用 C++ 中的命名空间等。
  • 对 IDE 错误没有影响。

标签: c++ linux netbeans netbeans6.7


【解决方案1】:

试试std::stringstd::endlstd::cout

或者,

using std::string;
using std::endl;
using std::cout;

在源文件的开头,包含库之后。也许您的 IDE 将它们标记为错误,但无论如何都使用标准命名空间。

你也可以使用

using namespace std;

但这通常是一个坏习惯,因为它会使全局命名空间变得混乱,并且最终可能会产生歧义(标准命名空间很大)。就个人而言,我只是将std:: 放在我的小项目中的所有内容之前,并将using std::______ 放在我在大型项目中使用它的项目或块中。

无论如何,这就是错误听起来的样子,但是(至少根据我的经验)如果这是问题所在,程序应该无法编译。

根据您的编辑:
如果您得到的错误仅来自 IDE,也许您的模式错误或其他什么?您在示例中发布的代码非常简单 C++,任何愿意使用 C++ 的编译器或 IDE 都可以处理它。如果您描述的错误来自您的编译器,则意味着您要么没有包含命名空间,要么您试图使用 C 编译器编译 C++ 代码——也许 netbeans 认为您正在编写 C?

【讨论】:

  • 对于“如果这是问题,程序应该无法编译。”,请从实际问题中看到,以下引用:“项目编译并按预期运行” 感谢您尝试提供帮助不过。
  • 也不能这样。它可以识别我们正确编写的类,以及通过引用传递。我想不出任何语言模式都可以,而字符串则不行。
  • 很奇怪。没有别的我能想到的
【解决方案2】:

嗯..同样的事情也发生在我身上。有一次我启动 NetBeans 时,它只是强调了我对 openGL 的所有调用(gl、glu 和 glut),但我无法摆脱这些错误。它编译得很好(+ 自从上次显示没有错误以来,我没有更改代码中的任何内容)

阅读这篇文章后,我检查了更新,更新了,现在它表明没有错误:) 这很奇怪,因为我定期更新..

编辑: nvm,现在它们再次加下划线:(

【讨论】:

    【解决方案3】:

    对于任何感兴趣的人,几天后我有 6 个可用于 NetBeans 的更新。安装此更新后,尽管代码未更改,但问题已得到纠正。所以,显然这是一个 NetBeans 错误。

    【讨论】:

    • 我也有这个问题。我有 NetBeans 7.1。但在 Windows 7 中。仍然无法正常工作。代码工作正常。但是会出现错误。 here is my problem
    【解决方案4】:

    FWIW 我在 Ubuntu 10.04 上使用 Netbeans 6.8 时遇到了同样的问题。令人沮丧的是,Netbeans 还告诉我它在帮助 --> 检查更新菜单中是最新的(因为这是 Ubuntu 的当前版本)。

    通过 synaptic/aptitude 删除 Netbeans 并手动下载和安装最新版本 (6.9.1) 也为我解决了这个问题。我希望店里不会有更多这样的讨厌鬼……

    现在我已经解决了这个问题并应用了this 性能补丁,我已经设置了一个非常棒的IDE,可以快速完成代码。遗憾的是,这种体验不是开箱即用的,我在 Eclipse CDT 和 Netbeans 上花费了相当多的时间,试图让事情正常运行。

    【讨论】:

      猜你喜欢
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 2015-08-21
      • 2016-06-22
      相关资源
      最近更新 更多