首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于“no definition”有关问题

2012-04-19 
关于“no definition”问题最近在弄STM32,但是遇到了一个问题。#define STM32#ifdefSTM32CPU_INT08U* block1

关于“no definition”问题
最近在弄STM32,但是遇到了一个问题。
#define STM32
#ifdef STM32
CPU_INT08U* block1 = (CPU_INT08U*)0x20001800;
#else
CPU_INT08U block1[256]; //!< Workspace 1.
#endif

就按上面代码编译、链接,没问题。但是当我把下面的block1[256]注释掉以后,就会出现错误,不知道是什么原因。

#define STM32
#ifdef STM32
CPU_INT08U* block1 = (CPU_INT08U*)0x20001800;
#else
?/*CPU_INT08U block1[256]; //!< Workspace 1.*/
#endif
错误提示:“Error[Li005]: no definition for "block1" [referenced from F:\Micrium\Software\EvalBoards\ST\STM32-SK\IAR\OS-Probe-LCD\Flash\Obj\EmAes.o] ”


[解决办法]
预编译的时候,他不会看你是否define 了STM32,他会两个都去查看,无论是if还是else
[解决办法]
走的是第二个分支

热点排行