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

使用Conan在Windows下编译libvpx(MSVC)失败求助

解决Windows下Conan安装libvpx的编译器路径空格问题

问题背景

  • C++项目使用Conan管理依赖,Linux环境下构建正常,Windows环境安装libvpx/1.11.0失败
  • 指定C14标准时可下载预编译包正常安装,C17及以上版本需编译源码,出现编译器路径解析错误
  • 使用Conan版本1.57.0

报错根源

从config.log可明确:libvpx的configure脚本未正确处理含空格的编译器路径,将C:/Program Files/...直接拆分为/c/program,导致找不到编译器可执行文件。

解决步骤

方法1:使用Visual Studio命令提示符执行命令

打开对应版本的x64 Native Tools Command Prompt(如VS2019/2022的x64原生工具命令提示符),该环境已自动配置好编译器路径,无需手动指定CC/CXX变量:

conan install "libvpx/1.11.0@" --build missing --settings arch=x86_64 --settings build_type=Debug --settings compiler="Visual Studio" --settings compiler.version=16 --settings compiler.runtime=MDd --settings compiler.cppstd=20

若使用自定义profile,需删除profile中[env]段的CC/CXX配置,直接在命令提示符执行:

conan install "libvpx/1.11.0@" --build missing

方法2:用Windows短路径替代含空格的路径

Windows支持用短路径名替代带空格的目录,例如:

  • Program Files (x86) 对应短路径 PROGRA~2
  • Program Files 对应短路径 PROGRA~1

修改profile的[env]配置为短路径:

[settings]
os=Windows
os_build=Windows
arch=x86_64
arch_build=x86_64
compiler="Visual Studio"
compiler.version=16
compiler.cppstd=20
build_type=Release
[options]
[build_requires]
[env]
CXX="C:/PROGRA~2/MICROS~1/2019/COMMUN~1/VC/Tools/MSVC/1429~1.301/bin/Hostx64/x64/cl.exe"
CC="C:/PROGRA~2/MICROS~1/2019/COMMUN~1/VC/Tools/MSVC/1429~1.301/bin/Hostx64/x64/cl.exe"

或直接在命令行指定短路径环境变量:

conan install "libvpx/1.11.0@" --build missing --env CC="C:/PROGRA~2/MICROS~1/2019/COMMUN~1/VC/Tools/MSVC/1429~1.301/bin/Hostx64/x64/cl.exe" --env CXX="C:/PROGRA~2/MICROS~1/2019/COMMUN~1/VC/Tools/MSVC/1429~1.301/bin/Hostx64/x64/cl.exe" --settings arch=x86_64 --settings build_type=Debug --settings compiler="Visual Studio" --settings compiler.version=16 --settings compiler.runtime=MDd --settings compiler.cppstd=20

方法3:升级Conan版本并使用默认工具链

Conan 1.60+及2.x版本对Windows环境的路径处理更完善,可升级Conan后,删除profile中手动指定的CC/CXX配置,依赖Conan自动识别Visual Studio工具链:

[settings]
os=Windows
arch=x86_64
compiler="Visual Studio"
compiler.version=16
compiler.cppstd=20
build_type=Release
[options]
[build_requires]
[env]
# 无需手动指定CC/CXX

在VS命令提示符中执行安装命令即可。

验证

执行安装命令后,查看build目录下的config.log,确认编译器路径被正确解析,libvpx编译安装完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 06:25:27