我正在使用 Eclipse 2018-12 和最新的 CDT。编辑器出现奇怪的索引问题。鉴于以下。如果源文件具有“.c”扩展名,索引器会提示无法解析类型“bool”和“false”。如果文件具有“*.cpp”扩展名,则解析类型。
在这两种情况下,项目都将构建并可以调试。
不确定这是否重要,但我正在使用 CMake 3.13 生成 Eclipse 项目文件,尽管我尝试手动调整项目设置无济于事。
#include <stdbool.h>
void main(void)
{
bool success = false;
}
我有一个 C 项目,但我的单元测试使用的是 GTest,并且是项目中唯一的 .cpp 文件。所有 .c 文件都表现出这种行为。
最佳答案
在 Eclipse 论坛中找到类似的帖子。一致认为这可能是索引器/编辑器代码中的错误。
但是有一个变通解决方案。如果您在项目属性 -> C/C++ 常规 -> 语言映射中有一个包含 .c 和 .cpp 文件的项目,请将“C 源文件”的映射添加到“GNU C++”语言。
由于我的构建文件是由 CMake 生成的,我认为这不会影响 Eclipse 构建/调试我的代码的方式。
关于c++ - C 文件的 Eclipse CDT 索引器结果与 C++ 文件不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54834858/