c++ - C 文件与 C++ 文件的 Eclipse CDT 索引器结果不同
问题描述
我正在使用带有最新 CDT 的 Eclipse 2018-12。编辑器出现奇怪的索引问题。鉴于以下。如果源文件具有“.c”扩展名,则索引器会抱怨无法解析类型“bool”和“false”。如果文件具有“*.cpp”扩展名,则类型被解析。
在这两种情况下,项目都将构建并可以调试。
不确定这是否重要,但我使用 CMake 3.13 生成 Eclipse 项目文件,尽管我尝试手动调整项目设置无济于事。
#include <stdbool.h>
void main(void)
{
bool success = false;
}
我有一个 C 项目,但我的单元测试使用 GTest,并且是项目中唯一的 .cpp 文件。所有 .c 文件都表现出这种行为。
解决方案
在 Eclipse 论坛中找到了类似的帖子。共识是这可能是索引器/编辑器代码中的错误。
但是有一个解决方法。如果您在项目 Properties -> C/C++ General -> Language Mappings 中有一个包含 .c 和 .cpp 文件的项目,请将“C Source File”的映射添加到“GNU C++”语言。
由于我的构建文件是由 CMake 生成的,我认为这不会影响 Eclipse 构建/调试我的代码的方式。
推荐阅读
- react-native - react-native 键盘自动隐藏问题
- python - Scrapy 和 MySql:存储列表
- javascript - Firebase 存储验证图像是否存在并使用新名称上传
- sql - 如何在 SQL 中忽略运行总计/累计和中的 0?
- android - Google 地方信息自动填充功能需要花钱吗?
- azure - Azure Speech to text 结果未定义 nodejs
- javascript - 状态 JSX 组件未更新
- mongodb - MongoDB Change Streams 读取过去的更改
- node.js - 在执行enrollAdmin.js 时遇到错误“FileSystemWallet 不是构造函数”
- admob - Unity 当按钮单击时显示 admob 插页式