打印

解决keil常见的两类警告问题:WARNING

[复制链接]
3518|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 877049204 于 2018-6-28 10:15 编辑

以前只要不出现error,我都是忽略警告的。现在为了追求完美点,想好好看看为什么会出现警告。
首先第一种警告,有8个类似这样的:
..\HARDWARE\AD9837.h(46): warning:  #1295-D: Deprecated declaration AD9837_GPIO_Config - give arg types
原因在于我这些函数没有形参,而我声明的时候没有加void:
void AD9837_GPIO_Config();
应该改成:
void AD9837_GPIO_Config(void);
第二种警告:"STM32F40_41xxx" 的重复定义:

..\USER\stm32f4xx.h(89): warning:  #47-D: incompatible redefinition of macro "STM32F40_41xxx" 
双击警告进入 stm32f4xx.h
可以看到在该文件中已经定义过
STM32F40_41xxx

#ifdef STM32F40XX
  #define STM32F40_41xxx
#endif /* STM32F40XX */
问题出在编译器设置上,进入options for targrt,删除下框中的:STM32F40_41xxx

完美的解决keil警告问题。




897085b34435893250.png (56.32 KB )

897085b34435893250.png

相关帖子

沙发
ayb_ice| | 2018-6-29 09:21 | 只看该作者
程序不严谨,改正了,还说完美

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

158

主题

1836

帖子

20

粉丝