对于配置dlib经常出现的错误及解决方法:
- 如果遇到png.h文件找不到,确定附加库目录已经包含dlib,使用"../external/libpng/png.h"去代替<png.h>即可
-
![](https://img.haomeiwen.com/i22459394/00d1d852e4b51bae.png)
image.png
USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2 以及 无法解析的外部符号的情况(主要是png、jpeg的)
解决思路:由于这个问题很麻烦,搜了半天也没找到方法,后来在一篇博客看到让用build生成的config.h替换原来dlib下的config.h实际上对于我的配置没有用处,反而报了一大堆引用错误,然后打开两个config.h发现里面其实是自己在cmake-gui里configure时多点的配置,原来的config.h是默认配置,自己的里面有新#define的配置,所以确实应当更换掉不过要做好备份。所以问题不在这里,就看是不是引用库出错了,发现这几个位置都设置好了,所以应当也不是这里的问题(借用一下比人的图吧)
![](https://img.haomeiwen.com/i22459394/b16f86296bb61caf.png)
image.png
再然后,就是看是不是需要把external下的那三个文件夹内容全部导入到资源文件下,然后试了一下各种错误又出来了,只好再次删掉回到原点。
![](https://img.haomeiwen.com/i22459394/14405090b6aca304.png)
external
最后一个博客中看到在cmake中的红框(借图)
![](https://img.haomeiwen.com/i22459394/77ec3737d6e62fd5.png)
原图
发现我自己正是这个框里的信息导致的,因为cmake检测到了计算机自己在anaconda下已经安好了这些lib所以他选择不在自己家文件夹下再做一套,这就让我们的应用工作变得很麻烦,声场的Release文件夹里的dlib19.19.0_release_64bit_msvc1900.lib也不含有和png、jpeg这些相关的配置,看到这里我就去给anaconda下手了,先把这些文件剪贴出来放到一个地方
![](https://img.haomeiwen.com/i22459394/abf6a3592c9d1f71.png)
image.png
其实我多搞出来了几个,红框里那仨出来了应该就可以了,不用株连九族其实,然后再次cmake编译,这回出现了新的信息:
![](https://img.haomeiwen.com/i22459394/6abd48b06f4e6b28.png)
暂时去掉anaconda中的lib
cmake说你这电脑里的太破太久我还是自己搞吧,不得不说这个编译还是太懒···
所以就按照正常配置方式设置好,就可以用啦!总之,除了问题请关注cmke下的信息!!!