使用MSVC2019 64位编译带Qt的OpenCV时CMake报错求助
解决Windows下MSVC2019 64位编译集成Qt的OpenCV时的CMake报错
你的报错核心是CMake生成的测试可执行文件丢失,无法完成类型检查和OpenMP检测,以下是针对性解决方案:
1. 彻底清理CMake缓存
- 删除
opencv/build目录下的所有文件(包括CMakeCache.txt和CMakeFiles文件夹) - 重新打开CMake-GUI,重新指定源码与build路径,执行Configure
2. 正确初始化MSVC环境
- 不要直接启动CMake-GUI,从VS2019 x64原生工具命令提示符(开始菜单→Visual Studio 2019→x64 Native Tools Command Prompt for VS 2019)中输入
cmake-gui启动 - 这能确保CMake完全识别64位MSVC编译链,避免环境混淆
3. 排查路径与权限问题
- 把OpenCV源码从下载目录移到非系统盘的简单路径(比如
D:/opencv),路径不能包含中文、空格或特殊字符 - 检查
build文件夹的读写权限:右键→属性→安全→确认当前用户拥有完全控制权限 - 临时关闭杀毒软件/Windows Defender实时保护,部分安全软件会拦截CMake生成的临时测试程序
4. 修复OpenMP组件或关闭OpenMP支持
- 打开Visual Studio Installer,检查是否安装了C++ OpenMP组件:工作负载→桌面开发C++→单个组件→勾选"OpenMP"相关选项后更新
- 如果不需要OpenMP,在CMake-GUI中找到
WITH_OPENMP变量,取消勾选后重新Configure
5. 确保Qt环境匹配
- 在CMake变量列表中找到
CMAKE_PREFIX_PATH,添加对应版本的Qt路径(比如C:/Qt/5.15.2/msvc2019_64) - 确认Qt版本是MSVC2019 64位版,避免版本不兼容
6. 降级CMake版本
CMake 3.25与MSVC2019存在已知兼容性问题,可尝试降级到CMake 3.22或3.23版本后重新配置
内容的提问来源于stack exchange,提问作者Alejandro Fernández
相关产品推荐
相关产品推荐

