Eclipse不解析类型

时间:2012-09-18 00:14:07

标签: eclipse eclipse-cdt

我正在使用Eclipse Juno CDT进行我正在上课,但它告诉我它无法解析包含文件中找到的类型,而这些不是我写的标题。

如果我通过命令行运行g ++,那么我编写的程序将完全按照应用程序进行编译和运行。问题是我无法在Eclipse中进行调试,因为它甚至无法识别像string这样的基本类型。此外,没有代码完成。它找到包含文件就好了,我可以打开它们并查看内容,但它仍然无法解析类型。

我已经看到了很多有类似问题的人的建议,但结果却找不到包含文件,这不是我的问题。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

也许这些类型在命名空间中,并且您没有对它们进行限定(并且不使用using声明)。

答案 1 :(得分:0)

您可能已经为标题本身包含了正确的目录。在我的系统上是:/ usr / include / c ++ / 4.4.6 /

但是,您可能没有包含宏_GLIBCXX_BEGIN_NAMESPACE定义的目录。没有这个宏定义,eclipse不知道stl类型在std命名空间中。在我的系统上,这个宏定义在主c ++目录下被squirreled。尝试将以下路径添加到包含列表中:

/usr/include/c++/4.4.6/x86_64-redhat-linux
/usr/include/c++/4.4.6/x86_64-redhat-linux/bits

如果你不在redhat上寻找类似的东西。您可以转到/ usr / include并运行以下grep以查找具有必要宏定义的标头:

grep -R -P "define\\s*_GLIBCXX_BEGIN_NAMESPACE\(" .