在Eclipse中构建C / C ++项目时出错:未定义的引用函数

时间:2013-08-28 15:20:49

标签: c++ c eclipse makefile

我在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()

提前致谢

1 个答案:

答案 0 :(得分:0)

我假设它是来自文件扩展名的C代码。所以在这种情况下尝试使用关键字extern并在functions.c中声明“bi3000_writeDisplay”函数的原型。希望这会有所帮助。