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

Error building C/C++ project in Eclipse: undefined referenced functions

本文关键字:出错 未定义 函数 引用 项目 Eclipse 构建 C++      更新时间:2023-10-16

我正在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的位置。我已经很好地定义了项目中->属性->C/C++常规->路径和符号的include路径,而且项目中的所有#include似乎都被识别了,但我遇到了这个编译错误。

函数在函数.h中定义,并在函数中声明。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()

提前感谢

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