Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理

Eclipse Issue - Preprocess defined in .c & .cpp file are not considered during compilation

本文关键字:文件 cpp 定义 预处理 问题 编译 不考虑 Eclipse      更新时间:2023-10-16

我正在使用 Eclipse 3.8 ,我正在使用具有不同配置的LED面板,例如COONMAL PORTODE&普通阳极。为此,我将一些预处理器指令设置为CFG.H文件之一中的配置为 -

#define _COMMON_CATHODE_
#undef  _COMMON_ANODE_

最初分别设置或重置时两个宏都可以正常工作。但是后来,当我对这些宏的更改进行更改时,我发现在编译过程中没有考虑更改,因此我仍在获取旧数据。

一些解决方法 - 如果我对源代码进行了一些更改,例如更改文本要显示,那么新鲜构建将以定向形式显示文本。

我尝试为此找到解决方案,但无法获得类似的情况。

请让我知道是否有人可以解决。

与CodeBench遇到相同的问题(大致基于Eclipse(。
软件的构建版本存储在一个定义中,但是如果没有完成清洁构建,则不会适用,这将使我很困扰,不确定是否在没有清洁的情况下进行构建解决方案。

唯一帮助我的是在构建之前清洁项目,所以:

项目 ->属性
C/C 构建
设置
构建步骤选项卡

将" Make Clean"添加到前构建步骤中。

因为对您而言,它不像构建版本,我能想到的另一个解决方案是创建2种具有不同宏定义集的配置,这意味着将您的定义从源代码中获取并将其移动到项目设置。

项目 ->属性
C/C 一般
路径和符号
符号选项卡
gnu c
gnu c 取决于项目

在同一屏幕上,在管理配置页面上创建一些配置,并为每种配置设置所需的定义。您的对象文件将存储在分离的文件夹中,因此不会混合在一起。