windows编译opencv记录:与vcpkg搭配使用

系统是windows 10,源代码版本是opencv-4.3.0
在安装过程中,最大的问题在于要安装很多的第三方依赖。经过一番摸索,找到了一个很好的解决方法,那就是与vcpkg搭配使用,利用vcpkg来安装缺少的依赖。

安装vcpkg

github网速较慢。从码云的镜像下载vcpkg

cd e:\abc
git clone https://gitee.com/mirrors/vcpkg.git

然后编译:

cd vcpkg
bootstrap-vcpkg.bat

编译成功之后,就可以运行了。需要再这个目录下面运行。

vcpkg.exe version

运行截图:
运行截图
vcpkg编译包的时候要使用MSVC。需要安装好。而且,它需要MSVC安装了English语言包,如果没有安装可以用visual studio installer安装一下。这一点需要注意。

安装的格式是这样的:vcpkg.exe install [包名]:[架构]-[系统]
比如在windows上安装x64版本的zlib包,指令如下:

vcpkg.exe install zlib:x64-windows

packages文件夹包含了所有安装的包及其依赖包。到时候需要为cmake设置这个搜索路径,以便找到我们安装的包。

构建opencv

我是从官网下载的4.3.0版本。也可以从github,或者码云镜像下载最新版本。

打开cmake,配置好source文件夹和build文件夹。前者是opencv的根目录,后者一般是前者的子目录build(不存在,会自动创建)。

点击Add Entry,添加一项,名字是CMAKE_PREFIX_PATH,类型是PATH,值是E:/abc/vcpkg/packages。这让cmake可以搜索vcpkg所安装的包。

还可以修改opencvCMakeLists.txt文件,加入一行:

list(APPEND CMAKE_PREFIX_PATH E:/abc/vcpkg/packages)

要是考虑兼容操作系统,还可以加一个条件判断:

if(CMAKE_SYSTEM_NAME MATCHES Windows)
  list(APPEND CMAKE_PREFIX_PATH E:/abc/vcpkg/packages)
endif()

点击Configure,开始配置。

安装缺少的包

仔细查看cmake的输出,如果提示缺少了什么包,你又需要它,那么就通过vcpkg安装。然后点击Configure重新构建,直到不再缺少任何包。

其他配置

输出说缺少PythonInterp,最低版本3.2。之前我的python是用Anaconda安装的,只有python2。我只好直接安装了一个最新版的python。然后手动修改PYTHON3_EXECUTABLE的值。

有时候vcpkg会莫名其妙卡住,随便按一些键就又继续执行了。

此外,还有一些其他的问题,有些包安装之后,还是找不到,比如OpenBLAS,还显示LAPACK不存在。我于是将With_LAPACK设置为Off

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值