智能车制作

标题: 关于Fatal Error[Pe035]: #error directive: "No valid CPU defined" [打印本页]

作者: 穿拖鞋上篮    时间: 2014-3-24 13:40
标题: 关于Fatal Error[Pe035]: #error directive: "No valid CPU defined"
关于Fatal Error[Pe035]: #error directive: "No valid platform defined"的解决办法:

首先找到出错的点

/*
* Include the platform specific header file
*/
#if (defined(TWR_K40X256))
  #include "k40_tower.h"
#elif (defined(LPLD_K60))
#include "k60_card.h"
#elif (defined(TWR_K53N512))
#include "k53_tower.h"
#else
  #error "No valid platform defined"
#endif

/*
* Include the cpu specific header file
*/
#if (defined(CPU_MK40N512VMD100))
//  #include "MK40N512VMD100.h"
  #include "MK40DZ10.h"
#elif (defined(CPU_MK60N512VMD100))
//  #include "MK60N512VMD100.h"
  #include "MK60DZ10.h"
#elif (defined(CPU_MK53N512CMD100))
//  #include "MK53N512CMD100.h"
  #include "MK53DZ10.h"
#else
  #error "No valid CPU defined"
#endif


分析:在这两大段代码中,#if(...)....#elif(...)....#endif这么个语句,其实就是宏定义中断if()..else()...语句。        #if (defined(TWR_K40X256))  这句话就是判断是否已经定义了TWR_K40X256,如果真,就执行 #include "k40_tower.h",把头文件k40_tower.h包含到工程中。
解决办法就是可以在工程选项宏定义中加入TWR_K40X256,就相当于进行了一个宏定义#define TWR_K40X256。或者在这两段语句之前进行宏定义#define TWR_K40X256。这两种方法二选一,不能同时定义两次。
类似的,对于Fatal Error[Pe035]: #error directive: "No valid CPU defined"的解决办法也可这么解决。
语言表达不给力,唉上图吧:

















作者: Roy..    时间: 2014-9-25 01:08
顶啊,刚好需要
作者: 阳光打在你脸上    时间: 2015-7-16 16:39
我们也遇到了这个问题
作者: I__Have_A_Dream    时间: 2016-1-15 17:10
感谢解答
作者: KD-Brick    时间: 2016-2-9 21:12
# error directive:MK40dz10 memory map:there is already include another memory map.
也是Pe035,这个怎么解决?
作者: wx_BL4TtiQi    时间: 2016-11-21 21:06
太感谢了
作者: sure2016    时间: 2017-1-17 17:02
也遇到类似问题




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2