环境:目前最新的master分支代码;bsp/qemu-vexpress-a9;
修改 SConstruct 文件,增加下面两行代码:
env.Tool('compilation_db')env.CompilationDatabase()
env.Tool('compilation_db')
env.CompilationDatabase()
但是无法在编译时生成编译命令文件。
PS:我自己写了一个很小的独立工程,采用scons做编译系统。增加这两行代码后,就生成了编译命令文件。
因为对scons的理解还很浅薄,不知道rt-thread到底对scons编译系统做了多少调整。所以请教路过的大神,该如何生成编译命令文件。
查看更多
那有没报错呢?也许加的位置不对?,自己检查下先呗。
参考:
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
我把这两句代码放在env对象创建后的所有位置都尝试了一下。
并且,在 building.py 的 DoBuilding 函数中(else 分支)里,将Env对象打印了出来
(我也尝试了直接在 SConstruct 中打印 env 对象,也是一样的结果)
并且比对了能生成 编译命令文件的工程中,打印出的env对象。
正常的env对象,所包含的“含有compilation关键子的字段”有问题的env对象也都有。
这是编译输出:(目前还有编译错误,所以输出不完善)
问题解决了。
没有生成编译命令是因为编译中途失败造成的。
把编译错误解决后,随着编译完成,就打印了熟悉的: