即使包含路径已设置,Eclipse仍找不到头文件
问题描述:
这是我们一直在处理的一个问题 - 我们正在使用Cygwin工具链构建一个C++项目,无论我们添加什么在C++编译器包含项目设置下的路径时,Eclipse似乎无法找到必要的头文件。即使包含路径已设置,Eclipse仍找不到头文件
我们已经完成了*社区迄今为止提出的所有建议;
- 确信包括路径是工作空间相对
- 试过反斜线和斜杠
- 使用特定的Cygwin路径尝试(/ cygdrive/C而不是C:/)
- 经过编译器输出到验证包括路径是有
- 经过所产生的makefile文件,以确保它们是正确的
- 重建索引
- 删除调试˚F旧的完全
- 重新启动Eclipse的
基本上无异改变#include <...>
代码本身要使用的完整路径(C:/.../file.h)
工作的。这不适合我们的需求,因为我们需要多个开发人员来处理这个项目,而且由于我们的一些构建过程,这些文件本身是动态生成的。
答
因此,下面是关于Eclipse的一个有趣的小细节,我们不知道 - 特定的源文件本身可以有自己的设置。
如果您查看源文件并看到以下扳手图标,则表示该文件有一些设置可能与您的项目特定设置相反。
其结果是,我们的源特定的设置被重写包括路径,所以对于这些文件,没有头也没有找到。最好的部分是Eclipse不会以比这更明确的方式告诉你 - 扳手图标没有提供工具提示来解释发生了什么。
Simply right click on the file > go to Resource Configurations > Reset to Default...
只要您已经在项目设置中编写了正确的包含路径,就可以立即找到您的头文件。
作为参考,我们使用的是Eclipse Kepler - 我不确定他们是否修复了这个问题,并为更新版本的用户添加了更多信息。
cygwin没有像'/ cygdrive/C/home/path/etc'这样的posix样式的映射文件路径吗?你尝试过吗? – Galik
是的,我们也尝试过 - 我将它添加到列表中; – Grandclosing