keil4每次build target 都是全编译是怎么回事啊?每次花很长时间啊,谢谢!!!
尝试以下几种解决方法:
方法1:project--option for target 'xxx' ---Listing---将C Preprocessor Listing:.\Listings*.I 的勾选去掉。
方法2:project--option
for target 'xxx' ---target---Code Generation-- 将Use Cross-Module Optimization勾选去掉
方法3:project--option for target 'xxx' ---Output---将Create Batch File的勾选去掉。
我的是方法1解决的
keilc 4编译问题,OPTION选项的在C51里的preprocessor symbols 中,事先Define一些量。
我想Keil出现这个Bug的可能性不大。
你可以先用代码定义的方式,测试一个你通过PreProcessor Symbols的量,例如
#define SYMBOL_1
#define SYSBOL_2
//define SYMBOL_3
//假如以下是你的程序中的代码
#ifdef SYMBOL_1
....
#endif
#if defined(SYMBOL_2)
...
#else
#if defined(SYMBOL_3)
....
#else
.....
#endif
#endif
如此,看一下程序是否能正确编译。一般情况下,是你的代码出现问题。
当然,如果你贴出部分代码看一下,就能比较好判断,因为你的问题说得比较乱。
共同探讨!!
keil51编译出错, ERROR: PREPROCESSOR: MACROS TOO NESTED
最可能原因是编程不规范,一些.h文件在不同的.c.h文件中重复定义。
keil5里面需要添加宏定义么
Keil5里面不需要添加宏定义,但是可以在Keil5里面添加宏定义,以便在编译时使用它们。宏定义可以在Keil5的“Options for Target”菜单中的“C/C++”选项卡中的“Preprocessor”部分中定义。
keil程序编译失败,头文件是reg51.h时会提示 ERROR:PREPROCESSOR: MACROS TOO NESTED,换成52才行
CPU芯片选对没?工程芯片类型选对了?检查检查,如果对了,应该是程序逻辑问题,具体也不太清楚,你应该说明一下你想完成什么功能!
keil5点击F7每次都重新编译RTE库
把以下3个勾去了, 就OK, 我是去了第二个时, 就正常了!
1:project--option for target 'xxx' ---target---Code Generation-- 将Use Cross-Module Optimization勾选去掉
2:project--option for target 'xxx' ---Listing---将C Preprocessor Listing:.\Listings*.I 的勾选去掉。
3:project--option for target 'xxx' ---Output---将Create Batch File的勾选去掉。