windows中使用mingw64编译dlib的c++/python库

网络上都是用Visual Studio安装的dlib, 一个visual studio 2019的安装包就30G多, 其实用mingw-w64就可以编译相关程序

安装MingW-W64

这里使用的msys2

安装msys2

参照官网 比如安装位置是 c:\msys64\

使用国内镜像源

c:\msys64\etc\pacman.d\
- mirrorlist.mingw32
- mirrorlist.mingw64
- mirrorlist.msys

这三个文件中将清华源放在第一行

# the CN mirror url
 Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/

安装mingw-w64

开始菜单中 打开msys2 minGW 64-bit

pacman -Syu
pacman -Su
pacman -S --needed base-devel mingw-w64-x86_64-toolchain

将mingw64的gcc加入到windows环境变量

地址在C:\msys64\mingw64\bin, 加入环境变量自行搜索

CUDA运行库

在windows平台上的mingw编译器是不支持CUDA的,所以即使你有显卡和CUDA它也不会安装CUDA版本的dlib,目前windows平台上只有visual studio是支持CUDA的。

编译dlib为c库

下载代码 并创建相关目录

cd /d d:\ 

git clone https://github.com/davisking/dlib.git

cd dlib
mkdir build
mkdir dist
cd build

创建编译文件

-G “MinGW Makefiles” 这个是关键,表示生成MinGW可用的Makefile文件

cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=D:\dlib\dist -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE=mingw32-make ..

不出意外, 会成功

编译 4是你的cpu核心数

mingw32-make -j4

安装

mingw32-make install

最终文件都会在d:\dlib\dist目录

编译python的wheel文件

如果执行过上面的编译 需要自行清理build文件夹

切换到19.20分支

最新版本的python包必须使用VS编译
19.20是可以编译的, 但是在编译时会触发小红伞,可以切换到19.19

git checkout v19.20

修改源代码

setup.py 149行

minGW是没有’-A’, ‘X64’这些参数的,而且mingw的多线程编译应该是’-j’才对。因此将其修改如下,注释掉’-A’, ‘X64’,改为4线程编译。

 if platform.system() == "Windows":
            cmake_args += ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_{}={}'.format(cfg.upper(), extdir)]
            # if sys.maxsize > 2**32:
            #     cmake_args += ['-A', 'x64']
            # # Do a parallel build
            # build_args += ['--', '/m']
            build_args += ['--', '-j4']

执行

python setup.py -G "MinGW Makefiles" bdist_wheel

python包

dist目录下dlib-19.19.0-cp37-cp37m-win_amd64.whl (3.7MB)即是windows版本的dlib

pip install dlib-19.19.0-cp37-cp37m-win_amd64.whl

安装face_recognition可以直接成功

pip3 install face_recognition
1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » windows中使用mingw64编译dlib的c++/python库

发表评论

提供最优质的资源集合

立即查看 了解详情