vs2019源码编译32位openCV

任务

大创项目需要实现硬件处理图像,则前期准备工作配置环境,使用32位cpu适用的库文件。但近期的版本官网没有直接提供,需要从源码直接编译。

此前更多是在linux环境进行build from source操作,因此这也是进行一次windows环境下的尝试。期间遇到了不少问题,下面是无误操作。

过程

由于下载的开源人脸识别seetaface工程是win32的配置,我先入为主,想要完成的是win32,但现在发现win32相对与x86范围更窄:

win32是指windows 32位的操作系统,顾名思义是支持32为CPU的操作系统。x86是指CPU的位,X86是指32位的CPU.x64指64位CPU,一个是指操作系统,一个是指CPU。

win32、x86的区别

不过操作过程应该只需要进行替换对应位置选项即可,后期实现进行更新。

下载

https://opencv.org/releases/

官网下载👆所需版本的源文件(sources)

https://cmake.org/download/

官网下载👆windows平台下的cmake

编译

主要参考文章:Windows32位系统下 Vs2015 配置Opencv

相关官方文档:https://docs.opencv.org/3.4.12/d3/d52/tutorial_windows_install.html

参考文章的过程很详尽,但遗漏了最初一张步骤截图,找猫画虎会有问题:

Specify the generator for this project
Visual Studio 16 2019
Optional platform for generator (if empty,
Win32
Optional toolset to use (argument to —T)
Use default native compilers
O Specify native compilers
generator uses :
x64)
o Specify toolchain file for cross—compiling
O Specify options for cross—compiling
Cancel

即:重点要选择generator的platform为自己的目标平台

此后的步骤与文章一致即可

43)-- Installing:
43>— Instal ling•
43>— Instal ling'
Installing:
43)-- Installing:
C: 'bi n/opencv/bui I d/ x86—32,•' instal IJ"bin/opencv_
43 4, o h, 0 4, o +
C: 'bi d/xS6-32/instal l/bin/opencv_trai ncascaded, exe
C: /bi n/opencv/bui I x86-32;' instal I/bin/opencv_createsampl esd_ exe
C: /bi „06-32/ ins tal sat i ond. exe
C: 'bi 06-32/ ins tal I/bin/opencv_versi ond. exe
annotat iond_ exe

最终是能全部成功生成的,而此前总会出现的fatal error LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突没有出现

配置

新建项目进行测试,需要对项目的属性管理器进行相关配置:包含目录、库目录分别添加上述编译过程中产生的对应目录

动态编译链接库加入生成的**world**.dll,当然,还需要将它加入系统的环境变量中的path,否则会运行报错:

由于找不到opencv_world320d.dll, 无法继续执行代码

环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找

Leave a comment

Your email address will not be published. Required fields are marked *