赞
踩
本人自制的图像处理软件在测试时发现图像太大时(超过3840*2160像素)大概率会因内存分配不足而直接崩掉,一翻操作查阅得知是x86架构可分配的内存太小了,应该升级到x64。以下是作者开发工具的版本
Qt版本:5.11.3
openCV版本:4.1.0
编译器:mingw 5.3.0 32bit
【x64和x86】
windows x64和x32,都是用来形容操作系统的,所以我们在下载操作系统的时候,会存在winx64和x86位系统的选择。
而不同位数的操作系统,对CPU的运算方式产生的影响或者要求亦不同,所以从更深层次的角度来说,windows64和32位是指CPU运算方式的差异。
windows x64和x86最主要的区别:
很多人之所以关注windows x64和x86的差异,是因为32位系统最多只能发挥4G内存的效用,如果电脑安装了大于4G的内存,32位的操作系统是不能更好的利用大于4G的那部分内存的效用的,所以会造成资源浪费。
而64位的操作系统,按照微软对系统的设定,家庭版本的win7可以最多支持16G的内存,而专业版和旗舰版的win7最多支持的内存容量可达192G内存。
要升级为x64架构首先openCV的库必须是x64的并且编译器也是64位,如果没有已经编译好的可用x64版本的OpenCV库就自己手动编译一个,本文主要针对Qt creator的64位环境搭建
【下载64位的mingw】 这里存在第一个坑就是下载的mingw就算是64位的,如果不支持posix的话可以编译Qt源码但是编译openCV依然会报错,并且调用编译好的openCV库也会报错,例如:'Mutex' is not a member of 'cv' ,如果电脑已经安装mingw并且已经配置好环境变量可以打开cmd输入 gcc -v查看当前编译器版本
如果enable-threads = win32或其他说明不可用,可以下载作者的版本【踩坑无数亲测有效】
百度云链接:https://pan.baidu.com/s/1GpWMZ8owLBYgbGobDINxYg
提取码:tb5i
解压在一个没有中文和空格的路径(笔者解压到了Qt的目录下),配置好环境变量,如果环境变量下有其他mingw版本可以先删掉,直到cmd能看到上图所示的提示
【编译openCV源码】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。