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

[复制链接]
4471|1
 楼主| 877049204 发表于 2018-6-28 09:57 | 显示全部楼层 |阅读模式
本帖最后由 877049204 于 2018-6-28 10:15 编辑

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

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

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

完美的解决keil警告问题。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2018-6-29 09:21 | 显示全部楼层
程序不严谨,改正了,还说完美
您需要登录后才可以回帖 登录 | 注册

本版积分规则

158

主题

1835

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部