解决编译官方库中的project warning: #47-D: incompatible redefinition of macro

下载官方的库文件后,就按照自己的开发板编译了下。配置了下,预定义宏。

而后就出现 warning: #47-D: incompatible redefinition of macro......

经过查找发现是工程选择和自定义宏的问题。

比如我使用的是STM32F40_41xxx的板子,芯片为STM32F407IG,我定义宏的时候,没有设置SMT32F40_41xx为当前工程。

故而出现 warning: #47-D: incompatible redefinition of macro.......的警告。

如下图所示:

解决编译官方库中的project warning: #47-D: incompatible redefinition of macro_第1张图片

而后点击“Set as Current Target”按钮,设置你需要选择的工程为当前工程。

就可直接通过编译。也可看下readme,根据板子的芯片,选择相应的宏定义。


而后若是以前安装了ADS,则在link时,会出现错误。

Warning: L6373W: libattrs.map file not found in System Library directory C:\ARM\ADSv1_2\LIB\armlib\. Library selection may be impaired.
Warning: L6310W: Unable to find ARM libraries.
Error: L6411E: No compatible library exists with a definition of startup symbol __main.

N中解决方式,我是在Linker下,--libpath=C:\Keil\ARM\ARMCC\lib

你可能感兴趣的:(STM32,官方库例程)