TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS的predefined symbol或opts文件中,为什么不能定义一个头文件?

在我的代码中,有如下代码

#ifndef  BDB_ZCL_TYPE_CLUSTER
#define  BDB_ZCL_TYPE_CLUSTER  "bdb_zcl_type_cluster.c"
#endif

#include BDB_ZCL_TYPE_CLUSTER

但是我想在不同的project中把BDB_ZCL_TYPE_CLUSTER替换掉,因为bdb_zcl_type_cluster.c是一个公共文件,在predefined symbol中添加( BDB_ZCL_TYPE_CLUSTER="bdb_zcl_type_cluster.c"),编译报错。为什么IAR中可以支持这种,但是CCS中缺不支持

Susan Yang:

感觉有点没太懂您的意思?您现在是要将BDB_ZCL_TYPE_CLUSTER替换为什么?可以在工程内使用 Edit–>Find/Repalce来替换

gaoyang9992006:

没用过这种宏定义操作呢,一般就是替换,没试过,回头我在Keil试试看。

Aries Lord:

回复 Susan Yang:

把要include的文件做成宏定义,在源码里面可以,但是在全局宏定义中无论用predefined symbol还是opts文件都会编译不过。

Susan Yang:

回复 Aries Lord:

您是不是打开了 -check_misra?
MISRA-C rule 19.4: "C macros shall only expand to a braced initialiser, a constant, a string literal, a parenthesised expression, a type qualifier, a storage class specifier, or a do-while-zero construct."

赞(0)
未经允许不得转载:TI中文支持网 » CCS的predefined symbol或opts文件中,为什么不能定义一个头文件?
分享到: 更多 (0)