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

Windows下用CMake编译带contrib的OpenCV for VS2019遇问题

解决Windows下VS2019编译带Contrib的OpenCV问题

嘿Richard,咱们一步步来拆解你遇到的问题,帮你顺利编译带Contrib库的OpenCV:

1. 关于CMake的CONFIGURATION IS NOT SUPPORTED警告

这个警告本质是CMake在生成setupvars脚本时,检测到当前配置存在兼容性问题,大概率和Anaconda环境的识别有关。你可以试试这些操作:

  • 配置CMake前,先通过Anaconda Prompt激活你的Python3环境(执行conda activate 你的环境名,如果是base环境就直接打开Prompt),再启动CMake-gui,确保CMake能识别到Anaconda的Python环境
  • 在CMake-gui里手动指定Python3的核心路径,避免自动检测出错:
    • PYTHON3_EXECUTABLE:指向C:\DEV\anaconda3\python.exe
    • PYTHON3_INCLUDE_DIR:指向C:\DEV\anaconda3\include
    • PYTHON3_LIBRARY:指向C:\DEV\anaconda3\libs\python3x.lib(把x换成你的Python版本号,比如3.9就是python39.lib)
  • 完成路径指定后,先点Configure,等配置完成再点Generate,重新生成VS项目文件

2. 不需要同时安装Python2和Python3

CMake只是默认会扫描系统里所有存在的Python版本,但你完全可以强制只使用Python3:

  • 在CMake-gui里找到BUILD_opencv_python2选项,直接取消勾选,关掉Python2相关的编译支持
  • 确保BUILD_opencv_python3处于勾选状态,再配合上面的Python3路径指定,CMake就只会为Python3生成绑定代码,不会再纠结Python2了

3. VS编译出现数千错误的排查思路

这种大规模报错基本是CMake配置阶段的依赖缺失、路径不匹配或者架构不一致导致的,按以下步骤排查:

  • 清空CMake缓存重来:在CMake-gui里点击File -> Delete Cache,彻底清除旧配置,然后重新走一遍Configure+Generate流程,避免残留配置干扰
  • 检查架构一致性:Anaconda默认是x64架构,所以VS的编译平台一定要选x64(不要选Win32),否则会出现大量链接错误
  • 验证Contrib模块的依赖:部分Contrib模块(比如xfeatures2d、face)依赖第三方库(如Boost、OpenEXR等),如果这些库没安装,编译会报错。你可以先暂时取消勾选不需要的Contrib模块,先保证核心OpenCV能编译通过,之后再逐步添加需要的模块并补充依赖
  • 确认环境变量生效:虽然你加了C:\DEV\anaconda3\Library\bin到系统环境变量,但一定要重启VS和CMake,让新的环境变量生效
  • 用VS原生工具链编译:打开VS2019的x64 Native Tools Command Prompt,在这个命令行窗口里执行CMake配置和编译命令(比如cmake -G "Visual Studio 16 2019" -A x64 ..),这样能确保VS的编译工具链和环境变量完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 22:27:53