在一个特定的cpp文件(abc.cpp)中,当我要求导航到"声明/定义"时,它说"无法打开元素"abc.h"。此功能适用于其他头文件。这本身并不是一个大问题,但它也意味着自动完成和语法高亮对这个文件不起作用。
一些额外信息:
- 头文件与cpp文件在同一个目录中,并且都包含在活动netbeans项目
- 我能够输入头文件名与自动完成,即
#include "ab<ctrl-space>"
点击"Go to header/source"按钮对cpp/h对都有效。右键单击头文件中的类名,然后选择"go to source",像往常一样将我带到cpp文件。 - 在其他cpp文件中,与头文件的连接工作正常,自动完成&语法高亮显示
- netbeans在头文件窗口的右上角有一个绿色的正方形,表示"没有错误"
- 我已经尝试删除我的缓存,这里解释 我在OpenSuse 13.2上使用netbeans v8.0.2
以下是一些想法:
- 有时候代码帮助对于Netbeans没有从零开始创建的项目来说不是很好。如果它不是一个复杂的Makefile,那么用C/c++ Application类型创建一个新项目并复制然后添加每个源文件和头文件可能是值得的。
- 代码辅助依赖于每次构建时的日志分析,所以有时只是重新构建项目就可以修复代码辅助。 如果你右键单击代码辅助子菜单下的项目,有许多选项。
- 编辑Makefile以确保该文件与其他有效文件的编译方式相同。它可能是用不同的选项编译的,因为它是后来添加的,因此没有为代码帮助提供相同的信息。在进行这些更改后,您需要重新构建这些更改以使其生效。
我也遇到过这个问题,但我的解决方案有点不同。我发现头文件不位于项目浏览器指示的地方。所以我打开了终端,把它移动到它应该在的地方,然后问题就解决了!