首页 > 解决方案 > Eclipse-CDT - bool、true 和 false 无法解析

问题描述

Eclipse 突出显示 bool、true 和 false,因为无法解析。请注意,应用程序构建良好。如何解决这个问题?

我的设置

Eclipse 版本 2021-06 (4.20.0) 内部版本 20210612-2011

gcc 版本 4.8.5

我试过的

我发现帖子说要更改以下内容:

第一的

Properties -> C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Dialect to -std=c++14 或其他。

我在属性编辑器中找不到此选项

其次选择 Window->Properties -> C/C++ General -> Preprocessor Include Paths, Marcos etc. -> Providers Tab

我这样做并添加了 -std=c99

没有效果,或者可能是错误的标准?

标签: c++ceclipse-cdt

解决方案


我认为这里发生的是 Eclipse 提供的 linting 版本与用于构建程序的版本不同。将 makefile 的属性与 Eclipse 同步。

您可以在 中找到构建属性Project -> Properties -> Build Settings。确保构建命令、标志、C 方言等与 makefile 中的相同。查看 makefile 的 CFLAGS 变量,它会显示属性,例如 C 标准、优化(对于调试模式,请确保没有,无论 makefile 说什么都使用 -g,因为它可能是用于发布的。)然后选择Eclipse 中的相同选项。

最有可能的是,makefile 中的 C 标准是 C99,但在 Eclipse 中,它是 C89 或类似的东西,在这种情况下,只需修改标准即可。

如果 makefile 使用 g++ 但是纯 C,则项目要么使用一点 C++,因此将项目移植到 C++ 项目。如果它是纯 C 但使用 g++,您还必须将其设为 C++ 项目并处理生活,或者如果您觉得有足够的能力更改 makefile,请这样做并使用 gcc。这个问题是最有可能的。

我什至不完全理解 Eclipse 构建的工作原理,这就是我迁移到 Visual Studio Code 的原因,这可能存在一些问题,请随时通过评论要求澄清。并确保您#include <stdbool.h>在每个使用布尔值的文件上都有。


推荐阅读