openwrt添加自己的应用程序(SDK下编译模块)出现的问题
来源:互联网 发布:ocr识别软件破解版 编辑:程序博客网 时间:2024/05/16 18:07
openwrt 版本: 15.05(CC)
最近在openwrt里面想编写一个串口的读写程序,没想到会出现以下问题
1、编译的时候
以下为网友遇到的问题
Package helloworld is missing dependencies for the following libraries: libc.so.6 libpthread.so.0
缺少类库,然后其实我发现我的类库在系统里是存在的:
locate libc.so.6
结果:
/lib/i386-linux-gnu/libc.so.6
/lib/i386-linux-gnu/ libpthread.so.0
/lib64/libc.so.6
但是我的应用程序用到了 Libpthread,所以提示 少了2个依赖库。
按照网友的做法
第一步:
把/lib/i386-linux-gnu/libc.so.6 libpthread.so.0这2个文件拷贝到家目录下的openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib这里。
cp /lib/i386-linux-gnu/libc.so.6 ~/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib
cp /lib/i386-linux-gnu/libpthread.so.0 ~/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib
第二步:
在你写的代码文件夹下(我写的是个my_ipk)下的Makefile里
define Package/my_ipk
SECTION:=utils
CATEGORY:=Utilities
TITLE:=My_ipk-- prints a snarky message
DEPENDS:=+libc
endef
这个define下面。
第三步:也是在Makefile里增加:
define Package/my_ipk/install
$(INSTALL_DIR) $(1)/bin
$(CP) /lib/i386-linux-gnu/libc.so.6 $(1)/bin
$(CP) /lib/i386-linux-gnu/libpthread.so.0 $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/my_ipk $(1)/bin/
endef
这里多了一行$(CP)的代码。
最后一步:这一步我跳过
在/home/user/attitude/staging_dir/target-mips_r2_uClibc-0.9.33.2/pkginfo下的libc.provides文件里增加两行:
/lib/i386-linux-gnu/libc.so.6
libc.so.6
最近在openwrt里面想编写一个串口的读写程序,没想到会出现以下问题
1、编译的时候
以下为网友遇到的问题
Package helloworld is missing dependencies for the following libraries: libc.so.6 libpthread.so.0
缺少类库,然后其实我发现我的类库在系统里是存在的:
locate libc.so.6
结果:
/lib/i386-linux-gnu/libc.so.6
/lib/i386-linux-gnu/ libpthread.so.0
/lib64/libc.so.6
但是我的应用程序用到了 Libpthread,所以提示 少了2个依赖库。
按照网友的做法
第一步:
把/lib/i386-linux-gnu/libc.so.6 libpthread.so.0这2个文件拷贝到家目录下的openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib这里。
cp /lib/i386-linux-gnu/libc.so.6 ~/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib
cp /lib/i386-linux-gnu/libpthread.so.0 ~/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib
第二步:
在你写的代码文件夹下(我写的是个my_ipk)下的Makefile里
这里我并没有照着网友的做,因为我加了之后,拷贝到板子上opkg都装不上,如下所示:
增加:这一步我跳过
DEPENDS:=+libc +libpthread
就是在:define Package/my_ipk
SECTION:=utils
CATEGORY:=Utilities
TITLE:=My_ipk-- prints a snarky message
DEPENDS:=+libc
endef
这个define下面。
第三步:也是在Makefile里增加:
define Package/my_ipk/install
$(INSTALL_DIR) $(1)/bin
$(CP) /lib/i386-linux-gnu/libc.so.6 $(1)/bin
$(CP) /lib/i386-linux-gnu/libpthread.so.0 $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/my_ipk $(1)/bin/
endef
这里多了一行$(CP)的代码。
最后一步:这一步我跳过
在/home/user/attitude/staging_dir/target-mips_r2_uClibc-0.9.33.2/pkginfo下的libc.provides文件里增加两行:
/lib/i386-linux-gnu/libc.so.6
libc.so.6
我只做了第一步和第三步,编译完后scp ./bin/ar71xx/packages/base/my_ipk_1_ar71xx.ipk root@192.168.1.1: 拷贝到开发板,如果你的网络有问题,上篇文档里有说明,如果把此文件编进文件系统里,比较麻烦一点。
在开发板中输入 opkg install my_ipk_1_ar71xx.ipk 提示如下:
执行程序的时候出现的错误。缺少libthread.so.0这个库,这个库可不能随便从虚拟机里拷贝一个过来,放到/lib下,因为格式肯定不对,那我们就看看openwrt里有没有这个库,进入openwrt根目录,mk,mk就是make menuconfig啦,嫌太长,就自己alias啦。
搜索一下,发现一个可疑对象如下所示:
好,位置显示在Base system下,我们进入该选项找到
<*> libpthread.......................................... POSIX thread library
选中之后推出保存,make V=99编译openwrt。
之后会在bin/ar71xx/packages/base/libpthread_0.9.33.2-1_ar71xx.ipk 出现。scp bin/ar71xx/packages/base/libpthread_0.9.33.2-1_ar71xx.ipk root@192.168.1.1:
执行以下操作
程序成功运行了。
本人也是刚刚接触openwrt,如有不对的地方,请多多指教。。。
1 0
- openwrt添加自己的应用程序(SDK下编译模块)出现的问题
- openwrt添加自己的应用程序
- openwrt交叉编译自己的应用程序(openwrt应用开发)
- android自己添加的模块在user模式下不编译的问题
- 自己添加的android模块不编译的问题
- 自己添加的android模块不编译的问题
- OpenWrt编译并添加自己写的应用-基于MT7620a
- OpenWrt添加LuCI的模块
- 用CMakeLists.txt替代makefile创建openwrt软件包(编译自己的应用程序)
- openwrt使用sdk编译应用程序
- openwrt使用sdk编译应用程序
- openwrt使用sdk编译应用程序
- OpenWrt sdk编译问题
- openwrt 问题六 搭建自己的交叉编译环境
- 2.6 下添加自己的内核模块
- Openwrt 编译添加模块 Package
- openwrt移植到tiny210编译出现的问题
- 添加自己编写的模块到ns-3中出现undefined reference to问题的解决
- javascript函数声明和函数表达式的区别
- 学习node+express过程中的MongoDB 的安装配置
- C# 数据类型和字节长度
- 消息机制
- 【openstack】【gitreview】确认自己的的环境是否能链接到review.openstack.org
- openwrt添加自己的应用程序(SDK下编译模块)出现的问题
- java实现双向链表
- C++ 学习之路
- MySQL中优化sql语句查询常用的30种方法
- 《Servlet与JSP核心编程》读书笔记
- Android Toolbar详解
- Struts 2配置 JSON JAVA生成json数据与 json数据解析
- 安装mysql 5.5.8 Error Nr.1364 authentication_string
- python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode