【问题标题】:std::string could not be resolved in eclipse ubuntueclipse ubuntu 中无法解析 std::string
【发布时间】:2012-05-18 12:34:22
【问题描述】:

我已经尝试搜索问题,甚至在以下位置看到了类似的问题:

"string could not resolved" error in Eclipse for C++ (Eclipse can't resolve standard library)

但他安装 mingw 的解决方案不起作用。 (什么是 msys?aptitude 没有找到任何具有该名称的包)

所以即使有 Eclipse 可以识别的 #include,我也会收到 std::string 问题的错误消息。我已将 /usr/include/c++/4.6.3 放入 GNU c++ 的包含中,但问题没有解决……我还能做什么?

代码很简单:

#include<string> 
. 
. 
std::string var;

我得到的错误是:“类型 std::string 无法解析”

代码由很多类组成,所以我不能全部粘贴。我已将现有项目中的所有内容添加到 Eclipse 中。我遇到了同样的问题 uint_32t 和 uint_64t 没有解决

回答: 我解决了这个问题。由于我从现有项目创建了一个新项目,因此它只是没有向包含目录添加任何内容,因此我创建了一个新的空项目并仅包含了其中包含的所有内容并解决了它

【问题讨论】:

  • 你能添加一些代码吗?另请粘贴您遇到的确切错误。
  • 代码很简单:include。 .标准::字符串变量;我得到的错误是:“类型 std::string 无法解析”
  • @YonatanNir:如果是代码,那么错误很明显。 1)您在包含语句之前缺少一个井号。 2) .. 不是有效的 C++ 表达式。 3) 你缺少一个主要功能。
  • 请粘贴您的实际代码,而不仅仅是存根。我们应该能够从中重现问题。在您的代码中,您甚至会错过包含之前的哈希“#”。
  • @Benjamin Lindley 我只是忘了在这里输入 # 但它出现在我的代码中。为什么缺少 main 函数会导致编译器无法识别类型?

标签: c++ eclipse include std include-path


【解决方案1】:

你可以尝试在 include 中使用 "" 而不是 。您也可以使用包含字符串的 iostream (#include "iostream") 更改字符串

【讨论】:

    【解决方案2】:

    清理项目并将其关闭并重新打开。重新启动 Eclipse。甚至完全关闭 Eclipse 并杀死与之相关的所有进程。 Eclipse 已经对我做了几次,并且重新启动成功了。

    【讨论】:

      【解决方案3】:

      我解决了这个问题,并没有我想象的那么简单。

      由于我从现有项目创建了一个新项目,因此它只是没有向包含目录添加任何内容。 Linux/Eclipse这么乱,连递归都加不了文件夹?

      我刚刚创建了一个新的空项目并复制了我需要的内容并完成了它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-24
        • 1970-01-01
        • 2012-08-02
        • 2012-07-25
        • 2018-03-24
        • 2014-04-01
        相关资源
        最近更新 更多