3

我在 Ubuntu 13.04 上使用 Eclipse Juno 为树莓派开发。我按照本指南配置了一个交叉编译工具链:http: //hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/

我让我的 hello world 程序在树莓派上正确编译和运行,但 Eclipse 将所有 STL 包括错误注释。

我试过的:

  • 重建项目
  • 重建索引(索引->重建)

我猜我的配置中缺少一些路径,但我不确定是哪一个。我确实对谷歌进行了大量研究,但找不到任何具体的解决方案。

所以问题是,如何配置 Eclipse 以查看 C++ STL 包含我的构建命令使用的路径?(arm-linux-gnueabihf-g++)

更新:

我正在查看我之前盲目复制粘贴的包含路径,并注意到其中一个应该指向 C++ STL,但在文件夹结构中不够深入。我通过更改.../include来修复它,.../include/c++/4.7.2并且修复了 eclipse 看不到的 STL。

但是现在我有一个新问题:当我包含一个文件时,例如,#include <string>我不能使用字符串类型;它强调了每个实例,string并说Type 'string' could not be resolved. 但是如果我重新启动 Eclipse,错误就会消失......直到我对代码进行任何更改,这会使红线重新出现。而且,程序编译成功。

4

2 回答 2

0

CDT 有时会非常反复无常。但是,如果您的路径错误,程序将无法正常运行,因此您的编译器知道 STL。我在导入一些第三方库(源文件)时遇到了这种问题,并切换包含的顺序修复了它。在你的情况下,它可能更复杂......

如果你不能摆脱这个错误,你仍然可以禁用一些特定的错误并将其变成简单的警告,但这会有点容易出错并且很危险:

Project > Properties > C/C++ General > Code Analysis > Use project settings > Switch the errors that are bugging you into warnings

祝你好运。

于 2013-06-24T03:37:42.533 回答
0

因此,我的问题似乎通过简单地将 C++ STL 的包含路径更改为其他内容然后再返回来解决。

脚步:

  1. 找到 STL 的包含路径并将其从 更改.../include.../include/c++/4.7.2
  2. 重新启动eclipse,您可能会注意到它现在部分工作(我在问题中提到的仍然有一些奇怪的行为)
  3. .../include/c++/4.7.2.../include
  4. 重新启动 Eclipse,现在它应该可以工作了。
于 2013-06-25T07:23:45.963 回答