用keil編寫(xiě)的 C51錯(cuò)誤 *** WARNING L1
用keil編寫(xiě)的 C51錯(cuò)誤 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START
解決辦法:
1.是文件沒(méi)有添加到工程里。
2.可能是因?yàn)榇嬖跊](méi)有被調(diào)用的已經(jīng)定義的函數(shù)。
3.不知道你有沒(méi)有把Source group組下面的A51.C刪掉,如果沒(méi)有刪,在A51.c上點(diǎn)右鍵,選擇remove file " ".
4.建一個(gè)新的c文件,里面寫(xiě)一個(gè)空的函數(shù),把該文件添加到project中,注意該文件不能再選generate assembler SRC file和assemble SRC file選項(xiàng)。重新編譯工程,如果警告該函數(shù)沒(méi)被調(diào)用,在主文件中調(diào)一下。
5.建一個(gè)新的c文件,把主文件中的幾個(gè)函數(shù)移至該文件,把該文件添加到project中,注意該文件不能再選generate assembler SRC file和assemble SRC file選項(xiàng)。重新編譯工程。
其他:UNRESOLVED EXTERNAL SYMBOL 說(shuō)明連接的時(shí)候沒(méi)有找到外部變量
extern xdata unsigned char RxPnt; 只是說(shuō)明引用外部變量,并不是實(shí)際的聲明。
應(yīng)該在某個(gè).c文件里有xdata unsigned char RxPnt才行。
extern中對(duì)這個(gè)變量做了聲明,說(shuō)這個(gè)變量將會(huì)在這個(gè)文件中用到,但并沒(méi)有定義
也就是那個(gè)變量并沒(méi)有真實(shí)存在.
需要要某個(gè)地方定義一下,
也有可能是你定義了,但是被條件編譯給去掉了也有可能.具體查一下工程里的所有源文件看看





