以Windows10-x64下的OpenCV4.5.5只含基本图像模块编译为例,编译环境为CMake3.23.3+VS2019。
Step1:在CMake中选择/填写OpenCV源代码路径和编译文件路径。
Step2:点击Configure按钮,会弹出一个对话框,在第二个下拉框中选择x64平台。
Step3:点击Finish按钮,稍等片刻进度条完成,会出现很多选项,这里只选择最小编译的必要选项。
依次点开每个折叠的选项,除了BUILD的下面的这几个选项的后面的勾保留,其他的都去掉。
其中:编译静态库时选择BUILD_WITH_STATIC_CRT,编译动态库时还要选择BUILD_SHARED_LIBS。opencv_core为OpenCV的基础核心模块,包含Mat数据结构的实现等;opencv_imgcodecs为OpenCV的图像编解码模块;opencv_imgproc为OpenCV的基础图像处理算法模块。
Step4:继续点击Configure按钮,直到红色全部消失。此时点击Generate按钮,进度条完成后再点击Open Project按钮则打开VS,后面CMake可以关闭了。
Step5:在VS中选择编译平台为Release x64,右键ALL_BUILD选择生成。
Step6:开始编译工程,完成后右键INSTALL选择生成。
我这里生成的头文件和库文件等存放在D:\software\OpenCV4.5.5\opencv\build_static\install路径下,编译得到的install文件夹压缩后得到的zip包大小仅6.25MB。
Step7:在VS中新建项目test_opencv_static,选择编译平台为Release x64,如下图所示。注意:此编译配置只能读取解析bmp文和dib格式的图像。
Step8:在属性管理器->Release | x64中添加属性表,需要修改下面几个地方:
配置完成后即可运行代码。经过静态编译得到的可执行文件可以直接在另一台不含依赖库的计算机上运行。