即使设置了包含路径,Eclipse也无法找到头文件

时间:2017-08-10 17:09:39

标签: c++ eclipse cygwin file-not-found

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

到目前为止,我们已经完成了Stackoverflow社区建议的所有内容;

  • 确保包含路径是工作空间相对的
  • 尝试反斜杠和正斜杠
  • 尝试使用Cygwin特定路径(/ cygdrive / c而不是C:/)
  • 检查编译器输出以验证包含路径是否存在
  • 检查生成的makefile以确保它们正确
  • 重建索引
  • 完全删除了调试文件夹
  • 重启Eclipse

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

1 个答案:

答案 0 :(得分:4)

所以这里有一个关于Eclipse我们不知道的有趣细节 - 具体的源文件本身可以有自己的设置。

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

Eclipse wrench key

因此,我们的源特定设置覆盖了包含路径,因此对于这些文件,找不到任何标头。最好的部分是Eclipse并没有以任何方式更明确地告诉你 - 扳手图标没有提供工具提示来解释正在发生的事情。

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

如果您在项目设置中编写了正确的包含路径,则现在可以找到您的头文件。

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