Espressif-IDE 包含标准 C++ 库时显示错误

问题描述 投票:0回答:1

在我们的 ESP32-C3 项目中,我们混合了 C 和 C++ 代码。当然,我们希望使用标准 C++ 库,例如 等。

使用 #include 添加这些内容会立即将其标记为错误。对于像 这样的 c* 库来说也是如此,语句“using namespace std;”和其他。基本运算符,例如从对象调用方法,例如myobj.dosomething();也被标记为错误,因为 IDE 认为 myobj 是一个整数,因为 std::vector 用作类成员。此外,所有包含有错误的 .cpp 文件也会被标记,从而产生连锁反应,将几乎整个项目涂成红色。

代码本身编译并运行正常,因此 ESP-IDF 没问题。它只是 IDE 中的编辑器或运行在其中的任何代码分析器,这让我们头疼并大大减慢了开发速度。这很奇怪,因为它可以很好地识别其余的 C++ 代码,并支持有用的功能,例如按住 ctrl 键单击跳转到类源代码。

有什么方法可以让IDE识别标准C++库吗?

Eclipse插件版本3.0,IDF版本5.3

更新

我讨厌浪费赏金,所以在这一点上,我会接受任何解释谁以及如何在 Eclipse 编辑器中进行语法高亮显示的答案。是一些通用的 C++ 解析器或编辑器本身(LSP 编辑器?)还是 ESP-IDF 框架?后者最有道理,但我怀疑这里的情况是否如此。

c++ esp32 espressif-idf
1个回答
0
投票
我喜欢寻找赏金,当你修改你的OP来找到解决你的问题的方法时,这是我的答案。

因此,我在 Eclipse 中创建了一个全新的 C++ 项目,并在向导创建的项目中在下面的屏幕截图中的第二行引入了真正的导入错误。然后,从菜单项 Window->Preferences 中,我更改了 Eclipse 在其编辑器中突出显示错误的方式。在我看来,控制级别非常丰富,应该可以作为一种解决方法,在编译正常的情况下禁用 IDE 中的突出显示错误。但请注意,它也适用于实际错误。

我的猜测是,在您的 Eclipse 环境中,您的插件可能会填充这些“注释类型”下可能有更多项目,因此也许您应该找到它们并仅删除它们的突出显示,而不是中的“错误”我的截图如下。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.