最近在研究openwrt下的ubus的使用,在使用之前,需要进行相关软件包的移植,在移植过程中遇到了一些问题,在此记录下,有需要的朋友可以参考下。
本文主要移植的软件包有libjson-c,libubox,libuv,ubus,下面依次来进行移植。
系统环境:Ubuntu 14.04 LTS
软件包源码:json-c-0.12.1-nodoc.tar.gz
交叉编译环境:misel-openwrt-linux-
软件包的源码我是从openwrt包中直接解压出来的,也可以去官网下载。
首先移植json-c-0.12.1-nodoc.tar.gz
进入json-c-0.12.1源码路径,手动修改config.h.in,注释掉或者删除下面两行
//#undef malloc
//#undef realloc
我是直接删除的,当然注释掉也可以,接下来就是对Configure的配置,我的配置如下:
运行完,就可以进行make了
可以看到,编译成功,接下来进行安装,即运行make install
到我们设置好的路径下,可以查看已经生成了相应的库和头文件
现在移植libubox,用到的软件源码包是libubox-2015-11-08-10429bccd0dc5d204635e110a7a8fae7b80d16cb.tar.gz
老规矩,先解压源码,然后进入到源码路径下,libubox生成Makefile是采用cmake的方式,cmake自己去问度娘吧,这里就不多介绍了。