编译zigbee_IOT_gw_JN-AN-1194可能遇到的问题;
首先我们看zigbee-jip-daemon的Makefile文件中需要依赖的库如下:
PROJ_LDFLAGS += -ldaemon -lpthread -lJIP -lsqlite3 -lxml2
ifeq ($(findstring ZIGBEE_JIP_FEATURE_ZEROCONF,$(FEATURES)),ZIGBEE_JIP_FEATURE_ZEROCONF)
SOURCE += Zeroconf.c
PROJ_CFLAGS += -DUSE_ZEROCONF
PROJ_LDFLAGS += -lavahi-client -lavahi-common -ldbus-1
endif
那么如果这些库在系统上没有安装的话,就会遇到下来类似的问题。
1)
fatal error: libxml/encoding.h: No such file or directory
安装如下库:
sudo apt-get install libxml2-dev
2)依赖Avahi 库
zigbee-jip-daemon depends on the following packages:
• Avahi (For Zeroconf discovery of the network)
sudo apt-get install libavahi-client-dev libavahi-common-dev
3)依赖tecla库
/usr/bin/ld: cannot find -ltecla
collect2: error: ld returned 1 exit status
sudo apt-get install libtecla-dev
4)依赖tlibdaemon-dev
fatal error: libdaemon/daemon.h: No such file or directory
sudo apt-get install libdaemon-dev
5)依赖tlibJIP
fatal error: Utils.h: No such file or directory
这个头文件位于 libJIP\Include 中,属于libJIP-v2_3.tar.gz这个包中。
根据Makefile文件中的如下语句,将对应libJIP-v2_3.tar.gz解开后的包拷贝到符合下面路径的目录中。
PROJ_CFLAGS += -I../../../../JIP/libJIP/Include/
PROJ_LDFLAGS += -L../../../../JIP/libJIP/Library -lJIP
或者根据libJIP源文件的位置,修改Makefile中上面的路径;
6)依赖sqlite3
fatal error: sqlite3.h: No such file or directory
安装libsqlite3-dev
sudo apt-get install libsqlite3-dev
编译JIPweb可能遇到
7)依赖son-c
fatal error: json.h: No such file or directory
sudo apt-get install libjson-c-dev
从它的makefile中可以看到它依赖哪些库,然后如果没安装的话就安装
#PROJ_LDFLAGS += -L/usr/lib/ -lJIP -lavahi-client -lavahi-common -ldbus-1 -lxml2 -lz
PROJ_LDFLAGS += -L../../libJIP/Library -lJIP -lavahi-client -lavahi-common -ldbus-1 -lxml2 -lz -lpthread -ljson-c