完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境: 目前最新的master分支代码; 修改 SConstruct 文件,增加下面两行代码: env.Tool('compilation_db') 但是无法在编译时生成编译命令文件。 PS: 我自己写了一个很小的独立工程,采用scons做编译系统。增加这两行代码后,就生成了编译命令文件。 因为对scons的理解还很浅薄,不知道rt-thread到底对scons编译系统做了多少调整。 所以请教路过的大神,该如何生成编译命令文件。 |
|
相关推荐
3个回答
|
|
那有没报错呢?也许加的位置不对?,自己检查下先呗。
|
|
|
|
我把这两句代码放在env对象创建后的所有位置都尝试了一下。
并且,在 building.py 的 DoBuilding 函数中(else 分支)里,将Env对象打印了出来 # 我自己加的代码 import pprint pprint.pprint(Env.__dict__) # 程序中原来的代码 program = Env.Program(target, objects) (我也尝试了直接在 SConstruct 中打印 env 对象,也是一样的结果) 并且比对了能生成 编译命令文件的工程中,打印出的env对象。 正常的env对象,所包含的“含有compilation关键子的字段”有问题的env对象也都有。 这是编译输出:(目前还有编译错误,所以输出不完善) scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: build CC build/applications/lcd_init.o CC build/applications/main.o CC build/applications/mnt.o CC build/drivers/board.o CC build/drivers/drv_keyboard.o CC build/drivers/drv_mouse.o CC build/drivers/drv_sdio.o CC build/drivers/drv_timer.o CC build/drivers/secondary_cpu.o CC build/drivers/serial.o CC build/kernel/components/dfs/filesystems/devfs/devfs.o |
|
|
|
问题解决了。
没有生成编译命令是因为编译中途失败造成的。 把编译错误解决后,随着编译完成,就打印了熟悉的: Building compilation database compile_commands.json |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
790 浏览 0 评论
4407 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2548 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2936 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31545 浏览 11 评论
72938 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 03:10 , Processed in 0.612205 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号