关于openwrt-SDK编译package时需要依赖库(sqlite3,curl,pthread
发布时间:2020-12-14 05:16:40 所属栏目:百科 来源:网络整理
导读: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#inc
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 ,然后复制到板子上面即可运行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |