openwrt 的依赖找不到问题

本文详细介绍了在使用OpenWRT进行软件编译时遇到库缺失问题的排查方法及解决方案,包括系统库查找、自定义编译环境配置和依赖库添加步骤,并通过示例展示了如何在Makefile中正确添加依赖,确保编译成功。

Openwrt报告库找不到
Package * is missing dependencies for the following libraries:
libc.so.6 或其他
先检查系统里面有没有这个库存在,如果没有,安装 (在/lib /lib64 等目录找)
之后添加库openwrt的编译环境
修改 libc.provides 平台不同,可能目录不同,find ./stagging_dir -name libc.provides 下
一般在 stagging_dir/target-mipsel_r2_uClibc-0.9.33.2/pkginfo/libc.provides
底部添加
libc.so.6
或其他需要的库,编译时候会把这个so转为openwrt平台的库
最后在对应的openwrt 的Makefile中加依赖

要是不行的话,使用使用在

define Package/sc/install 中增加

$(CP) /your lib.so $(1)/usr/bin/

也可以...

openwrt 的Makefile 示例

include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk #你的包名 PKG_NAME:=sc PKG_RELEASE:=1 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk #包信息 define Package/sc #下面两个编译时候编译界面上用到的分类 SECTION:=utils CATEGORY:=Utilities TITLE:=certain information sc customer #这加依赖库 DEPENDS:=+libpthread +libpcap endef define Package/sc/description #包介绍 If you can't figure out what this program does, you're probably brain-dead and need immediate medical attention. endef define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/ endef #包安装执行 define Package/sc/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/sc $(1)/usr/bin/ endef $(eval $(call BuildPackage,sc))

一般写到的代码放置到/your openwrt source/package/中

建立一个目录,如sc,目录结构如下:

package/sc

package/sc/Makefile (上面那个文件)

package/sc/src/your.c

package/sc/src/Makefile

package/sc/src/....#其他文件

之后运行 sudo make menuconfig 找到你的软件包 找的方式是:define Package/sc 里面 SECTION 和CATEGORY 的定义

注意:你的Makefile中,千万不要使用gcc 要使用$(CC),否则编译出来用不了的..

Makefile如下示例: 

sc:sc.o $(CC) sc.o -o sc -lpthread -lpcap sc.o:sc.c sc.h $(CC) -c sc.c clean: rm -rf *.o sc

前面是TAB减,非空格...$(CC)千万不能使用gcc代替...

转载于:https://www.cnblogs.com/liushannet/p/3895092.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值