資源描述:
《keil編譯常見(jiàn)錯(cuò)誤》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Error:L6200EError:L6200E:Symboltempmultiplydefined(bywenshidu.oandmain.o).在編譯的時(shí)候出現(xiàn)了這個(gè)問(wèn)題,但是檢查不出來(lái),希望各位大俠幫幫忙什么變量你給付了兩次值你看看是不是那個(gè)外部變量你又給賦值了main.c申明,其他.c文件對(duì)應(yīng)的.h文件中用extern引用error:#20error:#20:identifier"TIM2_IRQChannel"isundefined誰(shuí)能說(shuō)說(shuō),哪里錯(cuò)了你的固件庫(kù)里的庫(kù)文件沒(méi)有添加進(jìn)工程里面,所以出現(xiàn)未定義的情況。TIM2_IRQChannel指定時(shí)器2的
2、中斷通道沒(méi)有定義,其實(shí)在固件庫(kù)對(duì)這些參數(shù)都有定義,宏定義代替了一串寄存器地址數(shù)據(jù)。需要將.C文件添加到工程文件中warning:?#1-Dmain.c(7):warning:?#1-D:lastlineoffileendswithoutanewline當(dāng)使用keil編譯時(shí),彈出這樣的警告信息:main.c(7):warning:?#1-D:lastlineoffileendswithoutanewline這個(gè)是由于在main函數(shù)的“}”后,沒(méi)有加回車。只要在main函數(shù)的“}”后加回車鍵,此警告信息即可消除。error:#65...test_menu.c(27)
3、:error:#65:expecteda";"分?jǐn)?shù)送你了,問(wèn)題在你回答之前已經(jīng)解決了,頭文件里的結(jié)構(gòu)體定義里的最后一行沒(méi)有加";"如NBmenu{..};error:?#1113:?折騰了大半天,才搞明白一個(gè)空操作的指令先在網(wǎng)上查有的說(shuō)是__asm{NOP;},從intrins.h里調(diào)用,可犄角旮旯全找了,也沒(méi)看到什么intrint.h的文件。如果直接用,就出現(xiàn)error:?#1113:?Inline?assembler?not?permitted?when?generating?Thumb?code?最后搜索這條錯(cuò)誤,知道是因?yàn)開_asm("指令");這種語(yǔ)法
4、是內(nèi)聯(lián)匯編(inline?assembly)的語(yǔ)法。而RMDK下,內(nèi)聯(lián)匯編僅支持ARM匯編語(yǔ)言,不支持Thumb或者Thumb-2匯編語(yǔ)言;但內(nèi)嵌匯編器支持Thumb和Thumb-2。__asm放到一個(gè)單獨(dú)的子函數(shù)再被調(diào)用就沒(méi)問(wèn)題了如下:__asm?void?nop(void){????NOP}然后在之后的C代碼中調(diào)用該函數(shù):void?main(){...nop();...?}?最新更新來(lái)自KEIL官網(wǎng)warning:#223-D....sourceCCxx00_New.C(718):warning:#223-D:function"_NOP_"declar
5、edimplicitly在使用的文件中添加externvoid_NOP_();既可warning:#1295-D....includeCCxx00_New.h(20):warning:#1295-D:DeprecateddeclarationCC_XCal-giveargtypes沒(méi)有用形參定時(shí)時(shí)用voidCC_XCal(void);即可Error:L6218E:Undefinedsymbol.Objoutput.axf:Error:L6218E:UndefinedsymbolFSMC_NORSRAMCmd(referredfromtft_lcd.o)
6、..Objoutput.axf:Error:L6218E:UndefinedsymbolFSMC_NORSRAMInit(referredfromtft_lcd.o).Targetnotcreated請(qǐng)教高人,我該如何處理。你看看tft_lcd里面有沒(méi)有添加fsmcXXX.h之類的頭文件,這個(gè)錯(cuò)誤是說(shuō)你使用的函數(shù)沒(méi)有被定義。一般只要添加相應(yīng)的頭文件即可error:#101:error:#101:hasalreadybeendeclaredinthecurrentscope將#ifndef__STM32F10x_LIB_H#define__STM32F10x_
7、LIB_H#endif調(diào)整到最后!error:?#247:function"DelayUs"hasalreadybeendefined有一個(gè)同名的DelayUs類已經(jīng)被定義過(guò)了error:??#109:expressionmusthave(pointer-to-)functiontype這個(gè)問(wèn)題就是那19個(gè)error中的大部分,意思是表達(dá)式需要一個(gè)(指針)函數(shù)參數(shù),我一開始以為是自己函數(shù)聲明或者調(diào)用上的錯(cuò)誤,但是看了下發(fā)現(xiàn)并沒(méi)有錯(cuò),后來(lái)查了好久發(fā)現(xiàn)原來(lái)是犯了一個(gè)很低級(jí)的錯(cuò)誤:將宏定義和函數(shù)名重名了。因?yàn)槲乙婚_始想的是每一個(gè)宏定義對(duì)應(yīng)一個(gè)函數(shù)名,這樣做起來(lái)就比較清
8、晰,但是我卻很傻逼地將函