You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为OpenBSD Make生成compile_commands.json文件

OpenBSD源码生成compile_commands.json实操方案
  • OpenBSD源码仅支持原生make编译,无法用gmake替代
  • 常用的compiledb工具依赖make -w参数,OpenBSD原生make不支持该参数,无法直接使用compiledb生成命令集

方案一:使用bear工具生成(推荐)

bear是通用的编译命令拦截工具,无需依赖make的特定参数,适配OpenBSD原生make。

  1. 先安装bear:
    pkg_add bear
  2. 进入OpenBSD源码根目录,用bear包裹make命令执行即可生成对应文件:
    如果需要完整编译同时生成命令:
    bear -- make build
    如果仅需生成命令不需要实际编译,使用make的dry run参数即可:
    bear -- make -n build
    生成的compile_commands.json会直接保存在当前执行命令的目录下。

方案二:手动解析编译日志(无额外依赖)

如果不想安装第三方工具,可直接导出完整编译日志后自行解析:

  1. 执行make时将所有输出重定向到日志文件:
    make build > build_log.txt 2>&1
  2. 从日志中提取所有cc、c++开头的编译指令,按compile_commands.json的标准格式拼接即可。

验证效果

将生成的compile_commands.json放在源码根目录,重启vim的clangd服务即可生效,全源码的C/C++自动补全、跳转功能均可正常使用。

内容的提问来源于stack exchange,提问作者RHL120

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:36:09