如何为Openwrt交叉编译一个.c文件?

How to cross compile a .c file for Openwrt?

我正在尝试为 Openwrt 交叉编译一个 .c 文件。我下载了 Openwrt 并将我的文件添加到包目录中并为其创建了 Makefile 但在编译时它正在跳过。不知道怎么回事

这是 Makefile :

*

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=gav
PKG_VERSION:=1
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/gav
  SECTION:=utils
  CATEGORY:=Base system
  TITLE:=gaurav
endef
define Package/gav/description
 This package contains an utility useful to upgrade from other firmware or 
 older OpenWrt releases.
endef
define Build/Prepare
    mkdir -p $(PKG_BUILD_DIR/)
    $(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/gav/install
    $(INSTALL_DIR) $(1)/sbin
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/gav $(1)/sbin/
endef
$(eval $(call Buildpackage,gav))

*

如果工具链完全跳过您的 Makefile,很可能您还没有 运行 make menuconfig.

所以一般步骤是:

  1. 将您的 openWRT Makefile 放入 openwrt/package/name 文件夹
  2. 运行 制作菜单配置
  3. 在弹出对话框中选择要编译的包,方法是在其旁边放置 M 或 *。
  4. 运行制作package/name/compile
  5. 您将在 openwrt/bin/
  6. 中找到 .ipk 文件