opencv源码编译动态库and静态库
opencv源码编译动态库and静态库详细步骤记录
背景
release版本
debug版本
基于2.4.9版本编译
其他opencv版本也适用这个编译方式
一、直接下载2.4.9更新包(包里都有源码)
下载地址
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/
下载完后,安装即可
二、安装2.4.9
双击安装,自己指定安装目录,方便演示,我直接安装到了C:\Users\muhan\Downloads\opencv
进入opencv文件夹
新建一个new_build文件夹,之后会将编译生成的sln文件,库文件等都生成到这个子文件夹对应的路径下
三、通过cmake配置编译环境
选择源码所在的路径(就是解压安装opencv文件夹下的sources子文件夹)
C:\Users\muhan\Downloads\opencv\sources
选择编译生成的文件存放的路径(就是上一步new_build所在的路径)
C:/Users/muhan/Downloads/opencv/new_build
点击Configure生成对应的配置
我这边用的是vs2022,一般用默认的配置就ok了
第一次configure之后,页面有很多红色选中,再点击一次Configure按键,然后就会自动下载一些所需的依赖,之后就可以了
点击Generate,等出现“Generate Done”表示生成完成
四、编译动态库
4.1 debug版本编译(动态库)
然后打开C:\Users\muhan\Downloads\opencv\new_build文件夹(new_build子文件夹)
打开OpenCV.sln工程
选中 解决方案”OpenCV“ 右键,选择 “生成解决方案”
等出现“生成成功”之后,选中 CMakeTargets ,选中INSTALL,右键,选择 “仅用于此项目”,选择“仅生成INSTALL”
,当出现生成成功时,表示库和头文件已经生成成功,并安装到指定的路径下(new_build\install下)
C:\Users\muhan\Downloads\opencv\new_build\install
于是可以在new_build文件下,看到include头文件目录,和lib库文件夹,bin下的动态库文件夹
4.2 release版本编译(动态库)
此时,只需要将debug版本编译时的选项“Debug”改成“Release”即可,其他步骤同上3.1一致
此时,在bin目录下,产生类似opencv_calib3d249.dll(release版本的动态库)和opencv_calib3d249d.dll(debug版本的动态库)
到此,动态库版本已经编译完成
五、编译静态库
再次打开cmake,刚刚配置的那个页面
如果要编译静态库,那么取消勾选 “BUILD_SHARED_LIBS”
然后再次Configure,出现“Configuring done”之后,再次Generate,等再次出现“Generate done”之后,再次打开sln文件
重载sln文件
5.1 release版本编译(静态库)
在“Release”选项下,其他步骤同上3.1一致
当编译生成成功后,会在new_build\install子文件,有一个新的文件夹 staticlib,这个子文件夹下都是静态库
C:\Users\muhan\Downloads\opencv\new_build\install\staticlib
此时都是release版本
5.2 debug版本编译(静态库)
只要把编译选项改成“Debug”,其他同上3.1一致
(如果有闪屏,那是因为我的猫踩上来蹦迪了。。。)
然后再去C:\Users\muhan\Downloads\opencv\new_build\install\staticlib下,会有debug版本的静态库
至此,opencv在windows下的debug、release版本的动态库,静态库编译完成