keil5报警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解决办法
keil5報(bào)警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解決辦法
我遇到這個(gè)問題是在RM戰(zhàn)隊(duì)調(diào)裁判系統(tǒng)的時(shí)候遇到的。
首先要明確一點(diǎn),報(bào)這樣的錯(cuò),絕大部分的情況是因?yàn)樽约旱念^文件有問題,我拿我遇到的情況舉例:
1.頭文件調(diào)用
2.函數(shù)調(diào)用及報(bào)錯(cuò)
3.referee_usart_task的頭文件
4.bsp_usart頭文件頭文件路徑也全部包含進(jìn)來了,頭文件書寫也沒有問題,但是就是報(bào)了警告
解決辦法:
可以看到usart1_init這個(gè)函數(shù)是在referee_usart_task這個(gè)任務(wù)下的,因此對(duì)于usart1_init的函數(shù)申明應(yīng)該在referee_usart_task的頭文件下,而不是我寫的bsp_usart.h這個(gè)頭文件下,更改完路徑,即可解決問題。
bsp_usart頭文件更改
referee_usart_task的頭文件更改:
將usart1_init剪切去上面
還可能的問題:
1.頭文件有沒有正確包含;
2.頭文件寫的是否正確,如#ifndef是否寫成了#ifdef
3.在移植頭文件的時(shí)候,注意頭文件#ifndef后的__xxx_H_ 里面的xxx有沒有更改
如果還有什么問題歡迎大家評(píng)論,一起解決!
總結(jié)
以上是生活随笔為你收集整理的keil5报警告warning:implicit declaration ‘xxxxxxxx’ is invalid in C99 大部分解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析VO、DTO、DO、BO的概念、区别
- 下一篇: 压缩包详解及伪加密