This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你(们)好。
我有一个 CSL 安装,csl_general.h 具有以下定义:
/** *************************************************************************** * -------------------------------------------------- * PART1: CHIP VERSION MACRO DEFINITION FOR PG2.1 CSL * -------------------------------------------------- * * Below macros are used to enable the source code specific to chip version * TMS320C5517. * * 'CHIP_C5517' indicates TMS320C5517 DSP. * * Defining the macro below will enable the code for the DSP TMS320C5517. */ /* TMS320C5517 */ #define CHIP_C5517 ... .. ..
如果 可能的话、我想直接在 CCS12项目环境变量中的某个位置"取消定义"这个#define CHIP_C5517宏。
是否有办法取消定义此宏/符号、以便在项目编译时自动编译正确的代码(这不是 C5517的代码)?
CCS 用户指南中对此没有太多内容...
提前感谢 Mike
我认为、对于您的源代码中定义的宏而言、这是不可能的。
所以我必须在.h 文件中手动注释掉这个宏吗?
是的、或者、或者、如果您#include "cSL_general.h"、则可以使用#undef chip_C5517。
这似乎会达到这个目的、但我刚刚尝试了、它打破了编译。 我在#include 之前和之后都尝试过,但在编译中包含错误代码之后,宏可能稍后未定义...
我认为只要#undef 位于确定所有条件代码编译的同一 csl_general.h 源文件中,这将起作用...
我希望我可以像一个"全局"未定义那样在编译开始之前关闭宏,然后为我的平台编译正确的代码... 但是,遗憾的是,失去睡眠不是一个大问题;-)
可以添加编译器构建选项--undefine=chip_C5517,并使用该设置构建每个文件。 但是、这没有您想要的效果。 因为编译器首先看到编译器选项,然后是源代码行...
#define CHIP_C5517
来自源的设置会覆盖命令行中的设置。
因此,唯一的方法是...
[引用 userid="49966" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1177995/use-of---undefine-in-ccs12 "undefine "此 #define CHIP_C5517宏命令(笑声) 更改源代码。
谢谢、此致、
乔治