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 添加源 。