微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Z-Stack Linux GateWay出现/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:164: undefined reference to `ds_init',求解决方法

Z-Stack Linux GateWay出现/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:164: undefined reference to `ds_init',求解决方法

时间:10-02 整理:3721RD 点击:

我在demo/project 下Make的时候出现了以下问题:

/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:164: undefined reference to `ds_init'
/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:166: undefined reference to `ui_init'
/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:171: undefined reference to `si_init'
/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:173: undefined reference to `polling_process_activity'
/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:175: undefined reference to `si_deinit'
/home/nfs/Z-Stack_Linux_Gateway-1.0.1/Source/Projects/zstack/linux/demo/project/main.c:178: undefined reference to `ui_deinit'
collect2: ld returned 1 exit status
make: *** [main.o] Error 1

但是我查看了以下makefile  

INCLUDE = -I$(PROJ_DIR) -I../engines -I../framework -I$(PROTOINC) -I../../nwkmgr -I../../hagateway -I../../otaserver -I../../google/protobuf-c

VPATH = $(PROJ_DIR):$(PROJ_DIR)/../framework:$(PROJ_DIR)/../engines:$(PROJ_DIR)/../../nwkmgr:$(PROJ_DIR)/../../hagateway:$(PROJ_DIR)/../../otaserver

其中-I../framework已经包含了相关的路径,并且在main.c 也有包含

#include "socket_interface.h"
#include "user_interface.h"
#include "network_info_engine.h"
#include "device_list_engine.h"
#include "data_structures.h"
#include "ota_engine.h"

这我就不知道了!求大神帮忙以下。

产生undefined reference error错误的原因主要有

没有指定对应的库(.o/.a/.so) 使用了库中定义的实体,但没有指定库(-lXXX)或者没有指定库路径(-LYYY)

或者 gcc/ld 版本不匹配 gcc/ld的版本的兼容性问题,由于gcc2 到 gcc3大版本的兼容性存在问题(其实gcc3.2到3.4也一定程度上存在这样的问题) 当在高版本机器上使用低版本的机器就会导致这样的错误, 这个问题比较常见在32位的环境上, 另外就在32位环境不小心使用了64位的库或者反过来64位环境使用了32位的库.

恩,我主要觉得我的makefile编写的有问题,我主要是在Linux Gateway的project目录下makefile修改过的,但是就是找不到原因。 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top