vs2022配置opencv静态库

本文将在windows10环境下,vs2022+Cmake3.24.4编译opencv静态库,包括win32-release,win32-debug, x64-release, x64-debug四种;

文章内容有点长,请耐心看下去。

一、安装VS2022

下载链接:https://visualstudio.microsoft.com/zh-hans/downloads/

安装教程参考:https://blog.csdn.net/weixin_42615026/article/details/142755288?spm=1001.2014.3001.5502

二、安装cmake3.24.4

下载链接:https://github.com/Kitware/CMake/releases

建议下载红框中的压缩包,解压即可用。

在这里插入图片描述
解压后,可执行程序如,双击运行即可。
在这里插入图片描述

三、下载源码并编译opencv库

1、源码下载

1)openCV4.8.0 下载链接: https://opencv.org/releases/
在这里插入图片描述

2)openCV4.8.0 contrib 下载链接:https://github.com/opencv/opencv_contrib/releases/tag/4.8.0

两种压缩格式随便选一个。
在这里插入图片描述
下载好的压缩包如下:在这里插入图片描述

2、编译源码生成opencv静态库

step1 解压opencv-4.8.0文件,并在根目录下创建 【build】目录,这个用于编译生成x64静态库;
其中,【build2-win32】 用于生成win32静态库。
在这里插入图片描述
step2 双击运行截图中的可执行程序
在这里插入图片描述
打开后,勾选好两个路径。点击【configure】按钮,中间就会出现参数选项,设置VS版本(选择vs2022),设置目标平台(选择x64),
在这里插入图片描述

第一次点击configure,会让你设置一下sln生成平台,大特别注意,第一次选择好路径红色区域是空白的,win32和x64需要分开做两次。
在这里插入图片描述
在这里插入图片描述

step3 修改构建选项
像上面截图,第一次configure以后,有个configuring done就可以修改中间的参数了。

主要修改以下几个选项,

变量名作用
BUILD_SHARED_LIBS默认勾选,构建动态库;设为FALSE,构建静态库
OPENCV_EXTRA_MODULES_PATH设置pencv_contrib源码路径
BUILD_opencv_world是否构建为单个库,默认不构建单个库
BUILD_EXAMPLES是否构建示例
BUILD_TESTS是否构建测试
BUILD_WITH_STATIC_CRT默认勾选,构建MT;设为FALSE,将RuntimeLibrary设置为MD

修改1:我需要编译静态库,而默认是编译动态库,所以需要把BUILD_SHARED_LIBS勾选取消掉。
在这里插入图片描述

修改2:我需要配置contrib库,所以需要配置一下OPENCV_EXTRA_MODULES_PATH对应路径。请特别注意了,路径具体到modules,我第二次生成win32库的时候路径设置为C:\Users\man.zhang\Downloads\opencv_contrib-4.8.0就报错了。
在这里插入图片描述
报错示例:
在这里插入图片描述

在这里插入图片描述
修改3:我需要生成静态库给MD对应的动态库使用,所以需要设置【BUILD_WITH_STATIC_CRT】参数,将默认勾选取消,生成MD静态库;
在这里插入图片描述

step4 先configure,再generate

修改好构建项目后,先点击configure,再点击generate,这两个过程我是顺利完成的,成功界面如下。

在这里插入图片描述
step5 打开解决方案sln,进行正式编译静态库。

到step4,万里长征正式开始。可以在cmake界面中,点open project按钮,但是我安装了vs2013和vs2022两个版本,默认选择了vs2013,所以就遇到如下报错信息。
在这里插入图片描述
请乖乖到sln所在目录下,打开解决方案。
在这里插入图片描述
右击选择vs2022打开工程后,打开过程有点卡顿比较慢,多点耐心哦。特别注意,左上角菜单那里,只有release 64,debug64, 是没有win32的,该sln不支持编译win32,win32的静态库,需要到C:\Users\man.zhang\Downloads\opencv-4.8.0\build2-win32\OpenCV.sln工程来编译。我傻不拉几的加了win32编译时报错的,报错截图就不献上了。
在这里插入图片描述
如上图,右边的解决方案资源管理器窗口,选择INSTALL,右击进行build生成,就可以等待最终结果了。
在这里插入图片描述
如下截图红框中,不带d的是release64库,带d结尾的是debug64库。我选择建立了两个文件夹,把文件分开存放。
在这里插入图片描述

到这里基本就编好了x64静态库,需要把全篇步骤再来一遍编译win32静态库。写这篇文中已经耗时45分钟,有点仓促,后续继续完善。今天先到这里吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值