未定义的已定义函数的引用

时间:2016-03-19 11:53:46

标签: c eclipse ibm-cloud undefined-reference iot

目前正试图在eclipse中构建一个项目。项目浏览器如下所示:

enter image description here

private Bcontent bcontent; @XmlElement(name="b") public Bcontent getBcontent() { return bcontent; } public void setBcontent(Bcontent bcontent) { this.bcontent = bcontent; } 中,我在下面的代码中收到错误cabbie.c

undefined reference to initialize...

该功能已在#include <stdio.h> #include <stdlib.h> #include "../iotfclient.h" Iotfclient client; int rc; int main() { /* Setup your example here, code that should run once */ rc = initialize(&client, "h7dzt2", "Edison_cabquam", "notwindows95", "token", "Over_9000"); /* Code in this loop will run repeatedly */ for (;;) { } return 0; } 中定义,该功能作为头文件包含在内。将其定义为iotfclient.h是否正确?我应该制作一个Makefile吗? ../iotfclient.h中的函数原型如下:

iotfclient.h

此项目正在尝试连接bluemix IOT平台。

2 个答案:

答案 0 :(得分:1)

initialize()iotfclient.h已声明。但是,没有必要定义。换句话说,编译器知道标识符initialise代表一个函数,但是要创建一个程序,你还要告诉链接器该函数是如何工作的,即添加函数体。

尝试加入../iotfclient.c

答案 1 :(得分:0)

initialize中的函数../iotfclient.h 已声明../iotfclient.c中可能已定义,但您是否编译此文件并将其链接到您的项目?