2017-08-10 70 views
1

这是我们一直在处理的一个问题 - 我们正在使用Cygwin工具链构建一个C++项目,无论我们添加什么在C++编译器包含项目设置下的路径时,Eclipse似乎无法找到必要的头文件。即使包含路径已设置,Eclipse仍找不到头文件

我们已经完成了Stackoverflow社区迄今为止提出的所有建议;

  • 确信包括路径是工作空间相对
  • 试过反斜线和斜杠
  • 使用特定的Cygwin路径尝试(/ cygdrive/C而不是C:/)
  • 经过编译器输出到验证包括路径是有
  • 经过所产生的makefile文件,以确保它们是正确的
  • 重建索引
  • 删除调试˚F旧的完全
  • 重新启动Eclipse的

基本上无异改变#include <...>代码本身要使用的完整路径(C:/.../file.h)工作的。这不适合我们的需求,因为我们需要多个开发人员来处理这个项目,而且由于我们的一些构建过程,这些文件本身是动态生成的。

+0

cygwin没有像'/ cygdrive/C/home/path/etc'这样的posix样式的映射文件路径吗?你尝试过吗? – Galik

+0

是的,我们也尝试过 - 我将它添加到列表中; – Grandclosing

回答

1

因此,下面是关于Eclipse的一个有趣的小细节,我们不知道 - 特定的源文件本身可以有自己的设置。

如果您查看源文件并看到以下扳手图标,则表示该文件有一些设置可能与您的项目特定设置相反。

Eclipse wrench key

其结果是,我们的源特定的设置被重写包括路径,所以对于这些文件,没有头也没有找到。最好的部分是Eclipse不会以比这更明确的方式告诉你 - 扳手图标没有提供工具提示来解释发生了什么。

Simply right click on the file > go to Resource Configurations > Reset to Default... 

只要您已经在项目设置中编写了正确的包含路径,就可以立即找到您的头文件。

作为参考,我们使用的是Eclipse Kepler - 我不确定他们是否修复了这个问题,并为更新版本的用户添加了更多信息。

相关问题