forum.gl-inet.cn

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
    楼主: 萝卜大侠

    怎样使用SDK编译自己的软件包

      [复制链接]

    76

    主题

    2144

    帖子

    9641

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9641

    官方人员

     楼主| 发表于 2022-3-27 11:36:36 | 显示全部楼层
    w116355893 发表于 2022-3-27 11:16
    请问是在原来设置的local的目录下mkdir tcpling嘛还是说在package的目录下mkdir feeds/local/tcpling呢? ...

    按道理来说你不需要重新建目录才对,教程第2步b点你是根据自己的实际目录修改的吗?
    另外,tcping你好像打成了tcpling
    回复

    使用道具 举报

    5

    主题

    40

    帖子

    147

    积分

    注册会员

    Rank: 2

    积分
    147
    发表于 2022-3-27 12:24:26 | 显示全部楼层
    萝卜大侠 发表于 2022-3-27 11:36
    按道理来说你不需要重新建目录才对,教程第2步b点你是根据自己的实际目录修改的吗?
    另外,tcping你好像打 ...

    关于教程第二步的b的是我在按实际情况修改了的,
    关于tcping我是故意写成tcpling的,在创建目录的时候也是tcpling,是否是应为Makefile中的PKG_BUILD_DIR的原因
    回复

    使用道具 举报

    5

    主题

    40

    帖子

    147

    积分

    注册会员

    Rank: 2

    积分
    147
    发表于 2022-3-27 12:39:36 | 显示全部楼层
    萝卜大侠 发表于 2022-3-27 11:36
    按道理来说你不需要重新建目录才对,教程第2步b点你是根据自己的实际目录修改的吗?
    另外,tcping你好像打 ...

    src-link local /home/softwareOpen/helloworld
    这是我在feeds.conf.default中添加的
    回复

    使用道具 举报

    5

    主题

    40

    帖子

    147

    积分

    注册会员

    Rank: 2

    积分
    147
    发表于 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目录下输入:
    1. make package/helloworld/compile V=s
    复制代码
       指令中间的helloworld是你的package的名字。
    5.完成后,输入指令
    1. find bin/ -name "helloworld*.ipk"
    复制代码
       就可以找到编译好的ipk文件,上传到路由器然后安装就完事了。

    6.尾巴最后非常感谢楼主大大提供的帮助,我真的哭死








    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9641

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9641

    官方人员

     楼主| 发表于 2022-3-27 14:07:07 | 显示全部楼层
    w116355893 发表于 2022-3-27 12:24
    关于教程第二步的b的是我在按实际情况修改了的,
    关于tcping我是故意写成tcpling的,在创建目录的时候也 ...

    这里改目录名是没用的哦,如果要改名得改Makefile中的包名才行呢
    回复

    使用道具 举报

    5

    主题

    40

    帖子

    147

    积分

    注册会员

    Rank: 2

    积分
    147
    发表于 2022-3-27 14:17:11 | 显示全部楼层
    萝卜大侠 发表于 2022-3-27 14:07
    这里改目录名是没用的哦,如果要改名得改Makefile中的包名才行呢

    我弄好了,感激!!
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9641

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9641

    官方人员

     楼主| 发表于 2022-3-27 14:38:19 | 显示全部楼层
    w116355893 发表于 2022-3-27 14:17
    我弄好了,感激!!

    不用谢,欢迎发帖提问
    回复

    使用道具 举报

    1

    主题

    9

    帖子

    49

    积分

    新手上路

    Rank: 1

    积分
    49
    发表于 2022-4-27 14:52:25 | 显示全部楼层
    大侠,您好。按照您的教程,编译TCP很快就成功了。但是编译同目录下的其他包,很久都无法编译完成,也没见有什么报错信息,但是感觉是一在一直循环(例如隔一段时间,就看到在checking,而且checking的东西好像都是一样的),请问是还有什么地方需要注意的么?
    编译环境:MIPS_24KC CPU架构、Vmware+Ubuntu 21.04、全局。
    回复

    使用道具 举报

    1

    主题

    9

    帖子

    49

    积分

    新手上路

    Rank: 1

    积分
    49
    发表于 2022-4-27 18:01:18 | 显示全部楼层
    leexiaoyao 发表于 2022-4-27 14:52
    大侠,您好。按照您的教程,编译TCP很快就成功了。但是编译同目录下的其他包,很久都无法编译完成,也没见 ...

    莫名奇妙,删了重新编译,十分钟就好了。。。昨天反复搞了四五次,每次半个小时以上都不行。。。
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9641

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9641

    官方人员

     楼主| 发表于 2022-4-27 21:47:32 | 显示全部楼层
    leexiaoyao 发表于 2022-4-27 18:01
    莫名奇妙,删了重新编译,十分钟就好了。。。昨天反复搞了四五次,每次半个小时以上都不行。。。 ...

    可能是在生成一些依赖呢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|gl-inet.cn ( 粤ICP备18130956号 )

    GMT+8, 2024-5-7 18:03 , Processed in 0.027540 second(s), 24 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表