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

如何在vcpkg/CMake项目中集成使用Doxygen生成项目文档

vcpkg管理Doxygen工具的实现方案

方案1:直接在项目CMakeLists.txt中调用vcpkg_find_acquire_program

该方案无需修改vcpkg清单配置,适合不想升级vcpkg版本的场景:

  • 确认已正确配置vcpkg工具链,即CMake配置时已传入-DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake参数,如果你已经在CMakeSettings.json中完成了vcpkg相关配置,无需额外调整
  • 在CMakeLists.txt中查找Doxygen的逻辑前,直接调用vcpkg提供的全局工具获取函数:
# 调用vcpkg接口获取doxygen可执行文件
vcpkg_find_acquire_program(DOXYGEN)
# 后续可直接使用CMake原生Doxygen相关接口
find_package(Doxygen REQUIRED)
# 示例:定义文档生成目标
doxygen_add_docs(docs ${PROJECT_SOURCE_DIR}/src COMMENT "Generating API documentation")

调用完成后,DOXYGEN_EXECUTABLE变量会被自动赋值为vcpkg下载的Doxygen可执行文件路径,可直接用于后续文档生成逻辑。

方案2:通过vcpkg.json配置host依赖(推荐)

新版vcpkg已经收录了Doxygen作为host工具port,不需要额外编写CMake逻辑:

  • 在项目的vcpkg.json中添加doxygen为host依赖:
{
  "name": "你的项目名",
  "version": "1.0.0",
  "dependencies": [
    // 你的项目常规依赖
  ],
  "host-dependencies": [
    "doxygen"
  ]
}
  • 配置完成后,vcpkg会在依赖安装阶段自动下载适配当前平台的Doxygen二进制包,CMake中直接调用find_package(Doxygen REQUIRED)即可自动识别到vcpkg安装的Doxygen工具。

注意事项

  • 若使用方案2遇到doxygen port not found报错,说明你使用的vcpkg版本较旧,更新vcpkg到最新版本即可,或者直接使用方案1
  • 使用方案1时,vcpkg_find_acquire_program必须在find_package(Doxygen)之前调用,否则CMake可能优先匹配到系统中已安装的其他版本Doxygen
  • 两个方案都不需要额外修改CMakeSettings.json,只要原有vcpkg工具链配置正确即可正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:57:04