我在Ubuntu 13.04上使用Eclipse Juno来开发raspberry pi。我按照本指南配置了交叉编译工具链:http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/
我在Rasberry pi上得到了我的hello world程序编译并正确运行,但Eclipse注释所有STL包括错误。
我尝试了什么:
我猜我在配置中缺少一些路径,但我不确定是哪一个。我确实对谷歌进行了大量的研究,但我找不到任何具体的解决方案。
所以问题是,如何配置Eclipse以查看C ++ STL包含我的构建命令使用的路径? (臂-Linux的gnueabihf-G ++)
更新
我正在查看之前盲目复制粘贴的包含路径,并注意到其中一个应该指向C ++ STL,但在文件夹结构中没有足够深入。我通过将.../include
更改为.../include/c++/4.7.2
并修复了日食没有看到的STL来修复它。
但是现在我遇到了一个新问题:当我包含一个文件时,例如#include <string>
,我不能使用字符串类型;它强调string
的每个实例,并说Type 'string' could not be resolved.
但是如果我重新启动Eclipse,错误消失 ...直到我对代码进行任何更改,这会带来红线背部。而且,程序编译成功。
答案 0 :(得分:0)
如果您无法摆脱这些错误,您仍然可以禁用某些特定错误并将其转换为简单警告,但这会有点容易出错且危险:
Project > Properties > C/C++ General > Code Analysis > Use project settings > Switch the errors that are bugging you into warnings
祝你好运。
答案 1 :(得分:0)
所以似乎我的问题是通过简单地将C ++ STL的包含路径更改为其他内容然后再返回来修复的。
步骤:
.../include
更改为.../include/c++/4.7.2
.../include/c++/4.7.2
更改回.../include