2013-08-30 44 views
2

我的main.c是如下未定義參考AVR-GCC

#include <avr/io.h> 
#include<avr/interrupt.h> 
#include<util/delay.h> 
#include <string.h> 
#include "main.h" 
#include "globle.h" 
#include "LCD.h" 

int main() 

{ 

... 
... 
... 

lcdInit(0xc0); 
lcdScreen(0); 
. 
. 
. 


return 0; 

} 

lcdInit(將0xC0)的定義;和lcdScreen(0);在我lcd.c文件 和我有如下的頭文件lcd.h用於:

void lcdInit(char); 
void lcdScreen(char); 

不過還是我越來越:

C:\ Documents和Settings \ Tanv \我的文檔\ my_project5 \默認/../ main.c中:95:>未定義>參考 `lcdInit」

C:\ Documents和Settings \ Tanvr \我的文檔 \ my_project5 \默認/../ main.c中:96:未定義的引用 `lcdScreen」

這裏有什麼問題?

回答

3

這是一個鏈接器錯誤。

您還沒有建立你的程序正確,你需要編譯所有的C文件放在一起,就像這樣:

$ gcc-avr -o program main.c lcd.c 

,或者如果你分別編譯在一起,從目標文件鏈接。

+0

如何做到這一點使用AVR Studio的4 – user2733045

+0

我使用BUILD ALL標籤,但仍然我得到了同樣的問題 – user2733045

1

enter image description here

添加源文件和頭文件到您的項目由 1.右擊「源文件」,然後「添加現有的源文件(S)」 2.右擊「頭文件」,然後「添加現有頭文件(S)」

參考Add Source to Project步驟6

+0

雖然此鏈接可以回答這個問題,最好包含必要的部分的答案,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Luigi

+0

感謝您指出這一點。我編輯過它。 –