Eclipse CDT。使用符号时出现“语法错误”

时间:2013-03-05 07:46:00

标签: c eclipse syntax-error eclipse-cdt

我正在为同一个目标开发两个非常相似的嵌入式项目(它们共享大部分代码)。为此,我创建了两个构建:构建A和构建B.每个构建在符号中定义了一些细微差别:“DEVICE_TYPE =”根据项目包含或排除源代码。这样我就可以做到以下几点,

#if (DEVICE_TYPE == A)
[Code for build A]
#endif

#if (DEVICE_TYPE == B)
[Code for build B]
#endif

我的问题是Eclipse的语法总是抛出错误,因为显然它总是认为DEVICE_TYPE等于B.两个构建编译没有任何问题,但是。

更新:

符号在Project_Properties-> C / C ++ Build-> Settings-> Tool Settings-> Compiler-> Preprocessor-> Define Syms(-D)中定义如下:

如果是Build A

DEVICE_TYPE=A
A=0
B=1

如果是Build B

DEVICE_TYPE=B
A=0
B=1

问题在于,对于Eclipse,无论选择哪个Build,DEVICE_TYPE始终为B.这意味着#if (DEVICE_TYPE==A)中的所有代码都是灰色的。

1 个答案:

答案 0 :(得分:2)

您是否尝试过在此答案中提到的“使用活动构建设置”的Eclipse设置: use active build settings