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

使用CMake Visual Studio 17 2022生成器导出compile_commands.json方法

解决Visual Studio 2022生成器导出compile_commands.json的变通方案

方案一:使用CMake File API(官方原生支持)

CMake提供的File API不受生成器限制,可直接获取编译命令,操作步骤:

  • 在你的CMake构建目录内,创建路径 .cmake/api/v1/query/client-custom(client-custom可替换为任意自定义名称)
  • 在该路径下创建一个空文件,命名为 compile_commands(无需文件后缀)
  • 重新触发CMake配置:可以运行 cmake --build .,或者在Visual Studio中重新加载项目
  • 配置完成后,在构建目录的 .cmake/api/v1/reply 文件夹下,会找到包含 compile_commands.json 的子目录
  • 将这个 compile_commands.json 复制到项目根目录,即可供clangd等工具识别

方案二:临时切换Ninja生成器生成编译数据库

如果仅需一次性生成编译命令,后续仍用Visual Studio开发,可按以下步骤操作:

  • 在项目根目录新建临时构建目录(如 build-ninja)
  • 进入该目录,执行CMake命令指定Ninja生成器并开启编译命令导出:
    cmake -G "Ninja" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
    
  • 命令执行完成后,build-ninja 目录下会自动生成 compile_commands.json
  • 将文件复制到项目根目录即可,后续可继续使用原Visual Studio构建目录开发

方案三:用第三方工具解析VS项目文件

部分工具可直接解析Visual Studio的.vcxproj文件生成编译数据库,例如compiledb:

  • 先通过pip安装工具:
    pip install compiledb
    
  • 然后指定VS项目路径生成:
    compiledb -p path/to/your/project.vcxproj
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:08:16