微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于openwrt-SDK编译package时需要依赖库(sqlite3,curl,pthread等)的处理

SDk编译时需要-lsqlite3 -lcurl -lpthread,需要的头文件如下:

#include <sqlite3.h>
#include <stdio.h>
#include <pthread.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <sys/time.h>
#include <curl/curl.h></span>
Makefile 如下:

cc = /home/qx/xiaojunyu/openwrt-14.07/build_dir/target-mips_34kc_uClibc-0.9.33.2/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-gcc
xiao : xiao.o
	$(cc) -o xiao xiao.o -lpthread -lcurl -lsqlite3
xiao.o : xiao.c
	$(cc) -c xiao.c
clean :
	rm -f xiao xiao.o</span>
上级目录的Makefile如下

include $(TOPDIR)/rules.mk

PKG_NAME:=xiao
PKG_RELEASE:=1

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)

include $(INCLUDE_DIR)/package.mk

define Package/xiao
	SECTION:=utils
	CATEGORY:=Utilities
 	TITLE:=my_module -- mac_scan
	DEPENDS:=+libsqlite3 +libcurl +libpthread +libc
endef

define Package/xiao/description
endef

define Build/Prepare 
	echo "Here is Package/Prepare"
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef


define Package/xiao/install
	echo "Here is Package/install"
	$(INSTALL_DIR) $(1)/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/xiao $(1)/bin/
endef

$(eval $(call BuildPackage,xiao)) </span>


文件目录结构为:

xiao{Makefile src{xiao.c Makefilr}} 放在SDK目录的package下


首先进入主目录,比如openwrt,然后sdk的目录应该在

openwrt-14.07/build_dir/target-mips_34kc_uClibc-0.9.33.2/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2


在openwet目录,具体看你创建的目录下,make menuconfig 在library下找到你需要编译的库,比如我需要libsqlit3,libcurl,libpthread,选中以后保存编译,编译完成后,把package包复制到sdk目录下。


然后,package包的第一层Makefile中加入

+libsqlite3 +libcurl +libpthread +libc

退到sdk主目录,运行make package/xiao/compile V=s即可完成编译,或者直接make全部编译。

若想直接提取bin文件可以直接find ,然后复制到板子上面即可运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐