任务
大创项目需要实现硬件处理图像,则前期准备工作配置环境,使用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的区别
不过操作过程应该只需要进行替换对应位置选项即可,后期实现进行更新。
下载
官网下载👆所需版本的源文件(sources)
官网下载👆windows平台下的cmake
编译
主要参考文章:Windows32位系统下 Vs2015 配置Opencv
相关官方文档:https://docs.opencv.org/3.4.12/d3/d52/tutorial_windows_install.html
参考文章的过程很详尽,但遗漏了最初一张步骤截图,找猫画虎会有问题:
即:重点要选择generator的platform为自己的目标平台
此后的步骤与文章一致即可
最终是能全部成功生成的,而此前总会出现的fatal error LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突
没有出现
配置
新建项目进行测试,需要对项目的属性管理器进行相关配置:包含目录、库目录分别添加上述编译过程中产生的对应目录
动态编译链接库加入生成的**world**.dll,当然,还需要将它加入系统的环境变量中的path,否则会运行报错:
由于找不到opencv_world320d.dll, 无法继续执行代码
环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找