三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 392|回复: 0

配置与编译

[复制链接]

1657

主题

1684

帖子

5684

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5684
发表于 2019-6-21 12:30:19 | 显示全部楼层 |阅读模式
1.在自己的app中添加条件编译选择项:文件地址:
  1. app\example\linkkitapp\aos.mk
复制代码
在文件中添加如下代码:

  1. #case sched
  2. ifeq ($(LINKKITAPP_CONFIG_CASE_SCHED),y)
  3. ifeq ($(LINKKITAPP_CONFIG_DEPRECATED),y)
  4. $(NAME)_SOURCES += deprecated/sched.c
  5. GLOBAL_DEFINES += DEPRECATED_LINKKIT
  6. else
  7. $(NAME)_SOURCES += linkkit_example_sched.c
  8. endif
  9. endif
复制代码
2.在选择菜单中添加代码:
文件地址:
  1. app\example\linkkitapp\Config.in
复制代码
添加代码:
  1. choice
  2.     prompt "Select Case"
  3.     default LINKKITAPP_CONFIG_CASE_SOLO
  4.     help
  5.         select case to build

  6.     config LINKKITAPP_CONFIG_CASE_SOLO
  7.         bool "SOLO"
  8.         help
  9.             default case, build linkkit_example_solo.c or deprecated/solo.c(when enable deprecated)

  10.     config LINKKITAPP_CONFIG_CASE_SCHED
  11.         bool "Sched"
  12.         help
  13.             case sched, build linkkit_example_sched.c or deprecated/sched.c(when enable deprecated)

  14.     config LINKKITAPP_CONFIG_CASE_CNTDOWN
  15.         bool "Cntdown"
  16.         help
  17.             case countdown, build linkkit_example_cntdown.c or deprecated/cntdown.c(when enable deprecated)
  18. endchoice
复制代码
其中如下代码是使用的代码:
  1. config LINKKITAPP_CONFIG_CASE_SCHED
  2. bool "<div class="blockcode"><blockquote>Sched
复制代码

"
help
case sched, build linkkit_example_sched.c or deprecated/sched.c(when enable deprecated)
执行配置命令以后能看到Sched这个选项3.进入配置项目:
  1. aos make menuconfig
复制代码
4.在配置菜单中选择:
  1. Sched
复制代码
5.编译代码:
  1. aos make
复制代码
6.在生成的out目录中可以看到配置文件:
  1. out\config\autoconf.h
复制代码
7.在文件中查找配置项:
  1. #define LINKKITAPP_CONFIG_CASE_SCHED 1
复制代码
这个选择项目就是菜单上面配置的项目,这样Config.in文件和C源码还有编译工具链就连接起来了。
通过这种方法就可以实现对软件进行配置
回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2024-4-19 01:33 , Processed in 0.026486 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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