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

如何在配置文件中设置vcpkg的--x-buildtrees-root选项解决路径过长问题

解决QtWebEngine构建路径过长问题:在CMakePresets中配置vcpkg的--x-buildtrees-root参数

方法1:在CMakePresets.json的缓存变量中配置

直接在你的CMake构建预设里添加VCPKG_INSTALL_OPTIONS缓存变量,指定短路径参数即可:

打开项目根目录下的CMakePresets.json,找到对应的配置预设(比如Debug/Release架构预设),添加如下配置:

{
  "version": 3,
  "configurePresets": [
    {
      "name": "windows-x64-debug",
      "displayName": "Windows x64 Debug",
      "generator": "Visual Studio 17 2022",
      "architecture": "x64",
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
        // 替换为你的短路径,比如C盘根目录下的短名称文件夹
        "VCPKG_INSTALL_OPTIONS": "--x-buildtrees-root=C:/vcpkg-build"
      }
    }
  ]
}

方法2:通过环境变量配置(可选)

也可以在预设的environment字段中设置VCPKG_INSTALL_OPTIONS环境变量,效果与上述方法一致:

{
  "version": 3,
  "configurePresets": [
    {
      "name": "windows-x64-debug",
      "displayName": "Windows x64 Debug",
      "generator": "Visual Studio 17 2022",
      "architecture": "x64",
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
      },
      "environment": {
        "VCPKG_INSTALL_OPTIONS": "--x-buildtrees-root=C:/vcpkg-build"
      }
    }
  ]
}

优化:使用预设继承减少重复配置

如果有多个构建预设(比如Debug/Release、不同架构),可以创建一个基础预设,让其他预设继承它,避免重复编写相同配置:

{
  "version": 3,
  "configurePresets": [
    {
      "name": "windows-base",
      "hidden": true,
      "generator": "Visual Studio 17 2022",
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
        "VCPKG_INSTALL_OPTIONS": "--x-buildtrees-root=C:/vcpkg-build"
      }
    },
    {
      "name": "windows-x64-debug",
      "displayName": "Windows x64 Debug",
      "architecture": "x64",
      "inherits": "windows-base",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Debug"
      }
    },
    {
      "name": "windows-x64-release",
      "displayName": "Windows x64 Release",
      "architecture": "x64",
      "inherits": "windows-base",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Release"
      }
    }
  ]
}

注意事项

  • 替换C:/vcpkg-build为你自己的短路径,确保路径长度足够短以解决QtWebEngine的路径过长问题
  • 建议手动创建该路径对应的文件夹,避免vcpkg自动创建时出现权限问题
  • 配置完成后,重新在Visual Studio中加载CMake项目,后续构建依赖时vcpkg会自动带上该参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:05:20