AVR-GCC中未定义的引用

我的main.c如下

#include  #include #include #include  #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 and Settings \ Tanv \ My Documents \ my_project5 \ default /../ Main.c:95:> undefined>对`lcdInit’的引用

C:\ Documents and Settings \ Tanvr \ My Documents \ my_project5 \ default /../ Main.c:96:对’lcdScreen’的未定义引用

这有什么不对?

这是链接器错误。

您没有正确构建程序,需要将所有C文件一起编译,如下所示:

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

或者如果单独编译,则将它们从目标文件链接在一起。

在此处输入图像描述

将源文件和头文件添加到项目中1.右键单击“源文件”,然后“添加现有源文件”2.右键单击“头文件”,然后“添加现有头文件”

请参阅向项目步骤6 添加源 。