keil5报警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解决办法
生活随笔
收集整理的這篇文章主要介紹了
keil5报警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
keil5報警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解決辦法
我遇到這個問題是在RM戰隊調裁判系統的時候遇到的。
首先要明確一點,報這樣的錯,絕大部分的情況是因為自己的頭文件有問題,我拿我遇到的情況舉例:
1.頭文件調用
2.函數調用及報錯
3.referee_usart_task的頭文件
4.bsp_usart頭文件頭文件路徑也全部包含進來了,頭文件書寫也沒有問題,但是就是報了警告
解決辦法:
可以看到usart1_init這個函數是在referee_usart_task這個任務下的,因此對于usart1_init的函數申明應該在referee_usart_task的頭文件下,而不是我寫的bsp_usart.h這個頭文件下,更改完路徑,即可解決問題。
bsp_usart頭文件更改
referee_usart_task的頭文件更改:
將usart1_init剪切去上面
還可能的問題:
1.頭文件有沒有正確包含;
2.頭文件寫的是否正確,如#ifndef是否寫成了#ifdef
3.在移植頭文件的時候,注意頭文件#ifndef后的__xxx_H_ 里面的xxx有沒有更改
如果還有什么問題歡迎大家評論,一起解決!
總結
以上是生活随笔為你收集整理的keil5报警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析VO、DTO、DO、BO的概念、区别
- 下一篇: 压缩包详解及伪加密