热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

openwrtlibubox移植到ARM上

由于项目的需要,需要把openwrt上的libubox库移植到ARM上,libubox是openwrt的基础库,是一个事件驱动库,具体的可以到openwrt官网上去了解。宿主机为

由于项目的需要,需要把openwrt 上的libubox库移植到ARM上,libubox是openwrt的基础库,是一个事件驱动库,具体的可以到openwrt官网上去了解。


宿主机为 ubuntu 10.04  交叉编译工具链版本为 arm-linux-gcc 4.5.1,目标机为   s3c6410/s5pv210


源码为libubox-2014-08-04-dffbc09baf71b294185a36048166d00066d433b5.tar.gz,这个库依赖json-c 库,所以要先移植json-c库(json-c-0.11.tar.gz)。

   

json-c 移植比较简单,不作详细说明,具体步骤如下:


1.解压源码 

2. 修改config.h.in 文件,去掉如下几行

/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc


/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc

3.  ./configure --host=arm-linux  --prefix=/root/softwares/openwrt-a8/json-c

4.  make

5 . make install

执行以上几个步骤,即可生成库文件


libubox的移植,由于libubox没有configure之类的,需要用cmake生成Makefile,cmake如果没有,请自行安装。具体的步骤如下:

1.解压libubox源码

2.修改CMakeList.txt文件,在文件最开始处加上如下几句:


#告知当前使用的是交叉编译方式,必须配置
SET(CMAKE_SYSTEM_NAME Linux)

#指定C交叉编译器,必须配置
#或交叉编译器使用绝对地址
SET(CMAKE_C_COMPILER "arm-linux-gcc")

#指定C++交叉编译器
SET(CMAKE_CXX_COMPILER "arm-linux-g++")

#json-c 头文件的路径
include_directories("/root/softwares/openwrt-a8/json-c/include/json-c")   

#json-c 库文件路径

link_directories("/root/softwares/openwrt-a8/json-c/lib")


3.make


在源码的根目录即可生成库文件






推荐阅读
author-avatar
just_roshinn5
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有