我正在使用Eclipse 2018-12和最新的CDT。编辑器获得奇怪的索引问题。鉴于以下内容。如果源文件具有“.c”扩展名,则索引器会抱怨无法解析类型“bool”和“false”。如果文件具有“* .cpp”扩展名,则解析该类型。
在这两种情况下,项目都将构建并可以进行调试。
不确定它是否重要,但我正在使用CMake 3.13生成Eclipse Project文件,尽管我试图手动调整项目设置无济于事。
#include <stdbool.h>
void main(void)
{
bool success = false;
}
我有一个C项目,但我的单元测试是使用GTest,并且是项目中唯一的.cpp文件。所有.c文件都表现出这种行为。
在Eclipse论坛中找到了类似的帖子。共识是这可能是索引器/编辑器代码中的一个Bug。
但是有一个解决方法。在项目属性 - > C / C ++通用 - >语言映射中,您有一个包含.c和.cpp文件的项目,将“C源文件”的映射添加到“GNU C ++”语言中。
由于我的构建文件是由CMake生成的,我不相信这会影响Eclipse构建/调试我的代码的方式。
我同意这是Eclipse CDT中的一个错误,我有filed in its bug tracker。