如上图所示,作者将一个工程从AC5切换到AC6后,出现编译报错。
原因是在AC5环境下,部分源文件 #include "cmsis_armcc.h"头文件,此头文件是AC5编译器下使用的。
在AC6编译器环境下,需替换成 #include "cmsis_armclang.h"文件
同时宏 __CC_ARM __ARMCC_VERSION 分别是使用AC5和AC6编译器时,MDK定义的两个全局宏
#if defined(__ARMCC_VERSION)
#include "cmsis_armclang.h"
#elif defined(__ARMCC_VERSION)
#include "cmsis_armcc.h"
#endif
即可通过这两个宏控制头文件包含
在官方的BSP board.h 文件中也有对这两个宏的引用
原作者:梅江松子
|