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

到目前为止,我们已经完成了 Stackoverflow 社区建议的一切;

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

  • 基本上就是更改 #include <...> 代码本身以使用 (C:/.../file.h) 工作的完整路径。这不能满足我们的需求,因为我们需要多个开发人员才能处理这个项目,并且文件本身是我们的一些构建过程的结果动态生成的。

    最佳答案

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

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

    c&#43;&#43; - Eclipse 找不到头文件,即使设置了包含路径-LMLPHP

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

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

    现在将找到您的头文件,前提是您在项目设置中编写了正确的包含路径。

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

    关于c++ - Eclipse 找不到头文件,即使设置了包含路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45619736/

    10-11 22:10
    查看更多