|
发表于 2022-3-27 14:04:17
|
显示全部楼层
本帖最后由 w116355893 于 2022-3-27 14:39 编辑
终于成功编译出了hello world,属实不容易,虽然用的不是楼主的方法,但放在这里给大家提供一个参考吧(虽然这个方法的过程也非常曲折)
首先,我用的是sft1200的路由器,SDK楼主也已经给出了下载下来就好了。
1.编写自己的程序
作为一个软件包,他的基本结构如下所示
在src中的Makefile就和写C差不多,代码如下
helloworld : helloworld.o
$(CC) $(LDFLAGS) helloworld.o -o helloworld
helloworld.o : helloworld.c
$(CC) $(CFLAGS) -c helloworld.c
clean :
rm *.o helloworld
特别提醒:开头是tab不是space(空格)!!
接下来是外层的Makefile,这玩意儿属实折磨,虽然就几行结果各种问题(C还是得好好复习),下面直接给成品
include $(TOPDIR)/rules.mk
PKG_NAME:=helloworld
PKG_RELEASE:=1.0
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_CONFIG_DEPENDS :=
include $(INCLUDE_DIR)/package.mk
define Package/helloworld
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Hellworld Program
endef
define Package/helloworld/description
a OpenWrt demo of Hello World .
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/helloworld/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/usr/sbin/helloworld
endef
$(eval $(call BuildPackage,helloworld))
同样,千万别忘了tab
3. 放入SDK
做完1,2两步后,将整个文件例放入SDK下的package中。
4. 编译
在SDK目录下输入:
- make package/helloworld/compile V=s
复制代码 指令中间的helloworld是你的package的名字。
5.完成后,输入指令
- find bin/ -name "helloworld*.ipk"
复制代码 就可以找到编译好的ipk文件,上传到路由器然后安装就完事了。
6.尾巴最后非常感谢楼主大大提供的帮助,我真的哭死
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|