IAR工程如何生成compile_commands.json文件(能生成但是clangd不能生成“.cache文件”)
最近一直在使用vscode+clangd的方式编写代码,感觉使用clangd查找函数调用、函数声明、类型定义等等都比使用vscode自带的c/c++插件好用太多了。
现在我有一个功能是IAR版本的,那么有没有办法生成clangd使用的compile_commands.json文件呢?
答案是:有的,办法是使用一条命令
iarbuild.exe SmartB_OS_Project.ewp -jsondb SmartB_OS_Project -output compile_commands.json
首先需要将iarbuild.exe文件路径添加到环境变量PATH中。
在“xxx.eww”IAR工程文件路径中打开powershell或者bash
然后编译IAR工程生成“编译文件夹”,我是“SmartB_OS_Project”
最后输入shell命令:
iarbuild.exe SmartB_OS_Project.ewp -jsondb SmartB_OS_Project -output compile_commands.json
其中,SmartB_OS_Project.ewp文件为IAR工程文件,SmartB_OS_Project为IAR编译后中间文件、hex文件等所在文件夹。
最后,生成“compile_commands.json”文件。
吐槽:虽然生成了compile_commands.json文件,但是使用vscode+clangd打开,还是不会生成“.cache”文件。我现在也不知道原因是什么。希望大家能够提供帮助。