我在eclipse中制作一个C / C ++项目,自动生成makefile。我得到了错误:
/ home / globalcom / Desktop / Eclipse / Bi3000_testApplication / Default /../ functions / functions.c:22:未定义引用bi3000_clearLines'
/home/globalcom/Desktop/Eclipse/Bi3000_testApplication/Default/../functions/functions.c:25: undefined reference to
bi3000_writeDisplay'
/home/globalcom/Desktop/Eclipse/Bi3000_testApplication/Default/../functions/functions.c:28:对bi3000_writeDisplay'
/home/globalcom/Desktop/Eclipse/Bi3000_testApplication/Default/../functions/functions.c:31: undefined reference to
bi3000_writeDisplay'的未定义引用
/home/globalcom/Desktop/Eclipse/Bi3000_testApplication/Default/../functions/functions.c:34:对'bi3000_writeDisplay'的未定义引用
其中default是eclipse生成的文件夹以及保存makefile的位置。我有项目中的包含路径 - > properties-> C / C ++ General->路径和符号定义良好,而且项目中的所有#include似乎都被识别,但我收到了这个编译错误。
该函数在functions.h中定义,并在functions.c中声明:
void print_in_display(const char * line1,const char * line2,const char * line3,const char * line4){
const char firstline = 1;
bi3000_clearLines(0,7);
if(line1 != NULL)
writeDisplay(firstline, 0,0,8,(char *) line1);
if(line2 != NULL)
writeDisplay(firstline + 1, 0,0,8,(char *) line2);
if(line3 != NULL)
writeDisplay(firstline + 2, 0,0,8,(char *) line3);
if(line4 != NULL)
writeDisplay(firstline + 3, 0,0,8,(char *) line4);
}函数(writeDisplay)包含在librsm.h中。并在main()
中调用print_in_display()提前致谢
答案 0 :(得分:0)
我假设它是来自文件扩展名的C代码。所以在这种情况下尝试使用关键字extern并在functions.c中声明“bi3000_writeDisplay”函数的原型。希望这会有所帮助。