使用VS2022手动编译OpenCV3.4.0

当需要使用高版本的vs编译低版本的opencv时可能会出现一些奇奇怪怪的错误,这时可以尝试手动编译生成opencv库文件来进行适配。

编译OpenCV:
opencv3.4.0源码下载地址

这里可以选择其它版本:
在这里插入图片描述

下载解压后得到opencv-3.4.0文件夹

打开CMake(CMake安装方法自行百度)
请添加图片描述

点击Configure选择目标编译器,这里我选择vs2022
请添加图片描述

点击Finish后可能需要等待一段时间,完成后根据需要选择要编译的模块。
建议勾选BUILD_opecv_world,可以全部模块生成一个文件。

当不需要python支持,或者生成的工程无法编译通过python部分时,可以取消下面两个选项:
在这里插入图片描述

点击Generate开始生成vs2022工程。

生成成功后到输出目录打开OpenCV.sln工程
右键ALL_BUILD,选择“生成”进行编译。
在这里插入图片描述
等待编译完成,然后再右键INSTALL,选择“生成”

编译完成后在工程目录下会生成一个install文件夹,里面的文件就是生成的OpenCV库文件。
这里只编译debug模式下的库,release模式的大家自行编译。

接下来配置使用环境:
1、配置环境变量
将install文件夹移动到你喜欢的位置,重命名为opencv。然后将文件夹下的bin目录添加到环境变量中。
右键此电脑 > 属性 > 高级 > 环境变量 > 放到下面这里 > 编辑 > 添加目录 > 确定 > 重启电脑即可。
在这里插入图片描述

2、包含头文件、包含静态链接库文件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
添加静态链接
在这里插入图片描述
在这里插入图片描述
至此环境配置完成。

-------------------------------------------分界线----------------------------------------------------------

之后我在笔记本上使用vs2019编译opencv3.4.0时出现编译不通过的情况,这里做下记录:

按照上面的步骤生成vs2019的工程后进行编译。
编译出现几十个错误,翻看最上面的错误编译信息,信息如下:

17>Processing OpenCL kernels (core)
17>Building NVCC (Device) object modules/world/CMakeFiles/cuda_compile.dir//core/src/cuda/Debug/cuda_compile_generated_gpu_mat.cu.obj
17>CMake Error at cuda_compile_generated_gpu_mat.cu.obj.cmake:206 (message):
17> Error generating
17>D:/Program_Files/OpenCV/my/VS2019_3_4_0/modules/world/CMakeFiles/cuda_compile.dir/
/core/src/cuda/Debug/cuda_compile_generated_gpu_mat.cu.obj
17>
17>
17>D:\Program Files\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5):error MSB8066: 太长了省略
17>已完成生成项目“opencv_world.vcxproj”的操作 - 失败。

从上面信息看是cuda模块编译失败了,可能是我笔记本上的显卡不支持什么的。
解决办法:
取消CUDA模块的勾选
在这里插入图片描述
重新配置生成vs2019工程
在这里插入图片描述
打开工程重新编译,发现可以编译通过了,问题解决!

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值