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

前端之家收集整理的这篇文章主要介绍了关于openwrt-SDK编译package时需要依赖库(sqlite3,curl,pthread等)的处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. #include<sqlite3.h>
  2. #include<stdio.h>
  3. #include<pthread.h>
  4. #include<string.h>
  5. #include<unistd.h>
  6. #include<sys/types.h>
  7. #include<sys/stat.h>
  8. #include<fcntl.h>
  9. #include<stdlib.h>
  10. #include<unistd.h>
  11. #include<time.h>
  12. #include<sys/time.h>
  13. #include<curl/curl.h></span>
Makefile 如下:

  1. 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
  2. xiao:xiao.o
  3. $(cc)-oxiaoxiao.o-lpthread-lcurl-lsqlite3
  4. xiao.o:xiao.c
  5. $(cc)-cxiao.c
  6. clean:
  7. rm-fxiaoxiao.o</span>
上级目录的Makefile如下
  1. include$(TOPDIR)/rules.mk
  2. PKG_NAME:=xiao
  3. PKG_RELEASE:=1
  4. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
  5. include$(INCLUDE_DIR)/package.mk
  6. definePackage/xiao
  7. SECTION:=utils
  8. CATEGORY:=Utilities
  9. TITLE:=my_module--mac_scan
  10. DEPENDS:=+libsqlite3+libcurl+libpthread+libc
  11. endef
  12. definePackage/xiao/description
  13. endef
  14. defineBuild/Prepare
  15. echo"HereisPackage/Prepare"
  16. mkdir-p$(PKG_BUILD_DIR)
  17. $(CP)./src/*$(PKG_BUILD_DIR)/
  18. endef
  19. definePackage/xiao/install
  20. echo"HereisPackage/install"
  21. $(INSTALL_DIR)$(1)/bin
  22. $(INSTALL_BIN)$(PKG_BUILD_DIR)/xiao$(1)/bin/
  23. endef
  24. $(eval$(callBuildPackage,xiao))</span>


文件目录结构为:

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


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

  1. 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中加入

  1. +libsqlite3+libcurl+libpthread+libc

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

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

原文链接:https://www.f2er.com/javaschema/284229.html

猜你在找的设计模式相关文章