这是我们已经处理了一段时间的问题 - 我们正在使用 Cygwin 工具链构建 C++ 项目,无论我们在 C++ 编译器中添加项目设置下的包含路径,Eclipse 似乎都找不到必要的头文件。
到目前为止,我们已经完成了 Stackoverflow 社区建议的一切;
- 确保包含路径与工作空间相关
- 尝试过反斜杠和正斜杠
- 尝试使用 Cygwin 特定路径(/cygdrive/c 而不是 C:/)
- 检查编译器输出以验证包含路径是否存在
- 检查生成的 makefile 以确保它们正确
- 重建索引
- 完全删除debug文件夹
- 重新启动Eclipse
基本上没有什么比改变#include <...>
代码本身使用完整路径(C:/.../file.h)
工作了。这不能满足我们的需求,因为我们需要多个开发人员能够处理这个项目,并且文件本身是由于我们的一些构建过程而动态生成的。
这里有一个我们不知道的关于 Eclipse 的有趣的小细节 - 特定的源文件本身可以有自己的设置。
如果您查看源文件并看到以下扳手图标,这意味着该文件的某些设置可能与您的项目特定设置相反。
结果,我们的特定于源的设置覆盖了包含路径,因此对于这些文件,找不到任何标头。最好的部分是 Eclipse 不会以任何比这更明确的方式告诉您 - 扳手图标不提供工具提示来解释正在发生的事情。
Simply right click on the file > go to Resource Configurations > Reset to Default...
如果您在项目设置中编写了正确的包含路径,现在就可以找到您的头文件。
作为参考,我们正在使用 Eclipse Kepler - 我不确定他们是否修复了此问题并为新版本中的用户添加了更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)