我在Eclipse中混合了C ++ / Java项目。我已经设置了build.mk文件,当编辑器中的所有文件都关闭时,Eclipse会成功构建项目。当我打开.h或.cpp文件时,Eclipse会在其中找到许多未定义的符号。我引用了第三方API,所有问题似乎都与该API的符号有关。奇怪的是,某些类型被认为是在Eclipse中定义的,有些类型被认为是未定义的,即使在某些情况下它们是在同一个.h文件中定义的。
我的同事没有遇到任何这些问题,但我们无从何处开始解决这个问题。我们已经确保我们的Eclipse包含目录是相同的。有没有办法比较eclipse项目设置?
更新:.cproject目录中的.cproject文件和.project文件和文件只知道某些路径不同。但是没有帮助解决我的问题。
答案 0 :(得分:66)
我遇到了同样的问题。可以通过刷新Eclipse索引器来解决它。
我使用了项目上下文菜单并选择了Index->Rebuild
和Index->Freshen All Files
。最后删除了错误消息。
答案 1 :(得分:5)
原来我需要更改“启动”选项卡上的“代码分析”设置,而我根本看不到该选项卡。
答案 2 :(得分:1)
我遇到了同样的问题。它发生在包含文件中我用过
namespace std
不在主文件中使用它,反之亦然。请同等地使用 命名空间 进行检查。
答案 3 :(得分:0)
您也可以通过右键单击项目>运行C / C ++代码分析来编译和运行源代码。这将解决您的问题。
答案 4 :(得分:0)
我终于想通了。如上投票结果所述,冲洗Eclipse Indexer对我不起作用。这就是我要做的:
我去了: 项目->属性-> C / C ++常规->路径和符号->包含
这里我有包含目录的路径,但是我要做的是删除目录路径,然后重新添加它,确保选中“添加到所有配置”框。我还选中了“添加到所有语言”框,但我认为这不是必需的。
之后,您可能需要单击Project-> C / C ++ Index-> Rebuild。我不需要,但您可能会。而且,显然,不是上述路径中的C / C ++,而是Java或您正在使用的任何语言。