目录
DLIB 下载
可以去dlib官网下载地址,但官网只有最新的版本,想要下载历史版本可以去DLIB项目的github下载。我这里下载当前最新版本19.20。
cmake编译:
dlib支持gpu编译,要编译GPU版本,需要先在在电脑安装CUDA。安装过程这里不再赘述。
选择源码路径和生成路径,然后点击configure.
本机提前安装好了CUDA10.0, cmake找到了cuda目录,
CMAKE_INSTALL_PREFIX: 项目编译后安装目录
DLIB_JPEG_SUPPORT,DLIB_PNG_SUPPORT,JPG及PNG格式图片读取支持,勾选上的话在后面链接时需要链接对应的库,由于这里我使用opencv读写图片及视频,所以将这两个选项取消。
其它使用默认配置即可
依次点击"Configure",“Generate”,“Open Projects”,用VS2015打开项目。
VS2015编译
打开VS2015工程
选择release模式,生成ALL_BUILD。
编译完成后,点击“INSTALL”,生成,编译好的库和头文件会生成到"C:\Program Files\dlib1920"目录。
lib目录里有生成的dlib19.20.0_release_64bit_msvc1900.lib文件,是一个静态库,意味着编译过程中引用到的cuda等函数需要在应用时链接进去。
工程链接DLIB:
首先工程添加包含目录:“C:\Program Files\dlib1920\include”里的头文件, 加入链接库:dlib19.20.0_release_64bit_msvc1900.lib
测试程序可以从DLIB官网,Examples:C++ 下面找到。
除了链接DLIB库外,还需要在工程中链接cuda先关的库。
cublas.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
cudnn.lib
cufft.lib
cufftw.lib
curand.lib
cusolver.lib
cusparse.lib
nppc.lib
nppial.lib
nppicc.lib
nppicom.lib
nppidei.lib
nppif.lib
nppig.lib
nppim.lib
nppist.lib
nppisu.lib
nppitc.lib
npps.lib
nvblas.lib
nvgraph.lib
nvml.lib
nvrtc.lib
OpenCL.lib
这些库都存在于CUDA安装目录中
OK,开始编译:
....
...
哦,No,不出意外,还是出现链接错误
这是因为我们在cmake中勾选了DLIB_USE_BLAS选项,
解决方法也很简单,我们可以使用VS2015的NuGet包管理器 安装openblas库
NuGet包管理器位于VS2015工具菜单栏里面,如下所示,
打开NuGet包管理器后, 在浏览里搜索OpenBLAS,安装并应用到要编译的项目。
安装完成后,再次编译。 成功。