keil5 编译不成功

keil5 编译不成功

文件路径

学习使用STM32标准库的时候,会使用各种各样的头文件,使用头文件时要在keil界面魔术棒配置里面添加文件路径,我在模仿编写例程时,没有把所有头文件路径包含进去,导致编译不成功;另外就是文件路径包含了中文,keil5也会找不到相关头文件。

宏定义

我挺佩服ST的固件库的,利用宏定义大大增加了程序的可移植性,只要在移植时修改相关宏定义即可,但是在我编译时,定义了一个宏定义,在后续编程时仍使用了原定义名,导致编译不成功,所以使用了宏定义,原来的定义名就被修改,后续也只能使用宏定义名。

error: #268: declaration may not appear after executable statement in block

我的解决办法:keil默认编译C89,解决办法,在魔术棒工具栏C/C++选项框中勾选C99 code

static函数(也叫内部函数)只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。

百度上常见的keil编译错误,可以参考一下翻译

warning: #550-D: variable “a” was set but never used

虽然变量’a’定义了,但编译器认为变量a所在的语句没有意义,编译器把它优化了。
解决:先检查‘a’所在语句是否有意义,如果有意义那么尝试用volatile关键字修饰变量‘a’,如果没有意义就删除

你可能感兴趣的:(keil5 编译不成功)