2013-08-30 114 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

感谢您指出这一点。我编辑过它。 –