本人在用百度人脸识别的时候分别使用了C#版和C++版,C#用完之后满脑子都在想搞一个爬取图片,然后根据颜值进行保存或者丢弃的程序。。。C++版本用了一下,脑子里就是这Cmake咋回事啊?我openSSL是不是没配好?这玩意咋这么复杂啊?
好了,整理一下最终跑通C++版本的参考资料把,首先根据官网资料,我们知道需要添加第三方库链接参数 lcurl, lcrypto, ljsoncpp。总的来说就是三个库咯,其中json的这个是我第一个入手的,感觉这个应该很简单啊。Json参照了这篇博文
https://blog.csdn.net/bugei/article/details/81016904
给出的Json地址是https://github.com/open-source-parsers/jsoncpp
但是并没有找到VS项目啊。。然后我就用了CMAKE,https://cmake.org/download/,这是下载地址。
这是CMAKE的参数,然后不要用ALLBUILD,或者你运气好可以成功。
只需要这个Lib就可以了,就这一个项目重新编译一下,找到那个Lib文件,这里记住了,这是第一个重要文件。
接着搞openssl吧,http://slproweb.com/products/Win32OpenSSL.html ,这个是下载地址
后面是我下载的版本,我怕失败,所以就下载了最大的。openssl就这样愉快的解决了。这是第二个重要文件。
最后一个libcurl(需要支持https)。这里也有不少教程,
https://www.jianshu.com/p/584f3510bf07
这是我参照的,下载libcurl的地址就是https://github.com/curl/curl,然后这里根据他的教程生成VS项目后,选择libcurl,选择进行编译。如果说缺少东西8成就是去openssl去搞得,这里主要就是在项目属性页里面的VC++目录配一下包含目录就好了。生成的文件是
这是第三个重要文件。
最后,建一个新项目,开始配置自己的人脸识别吧~,这里我们需要把刚刚生成的乱七八糟的东西整理一下,其实有个简单的方法,先把CPP-sdk的目录添加到包含目录里面,然后#include"face.h" 。花式报错,然后你就懂要填什么了
我这里总结一下,在包含目录里面共有4个。
1:OpenSSl的include目录。2:jsonCpp-master的include目录。3:curl-master的include目录,4:百度的aip-cpp-sdk-0.8.1目录。
上面说的master其实没什么意思,只能说明我的资料是从github上面下载的。这里不一定完全一样。说不定你们从别的地方下载到了资料。
然后是库目录。
库目录我分成了2个,其实严格意义是三个。
1:openSSL的lib目录。2:前面我们用json和libcurl分别生成的lib文件的目录,PS:我把他们两个文件放在了一起,所以就是一个目录啦。
然后在你的连接器-输入里面。
libcurld.lib
jsoncpp.lib
libssl.lib
libcrypto.lib
ws2_32.lib
winmm.lib
wldap32.lib
附加依赖项。这些全部抄上,其中后四个是因为在运行时提示无法识别的外部命令我又找了别的教程得到的教训。
还有一个地方,C/C++里面的预处理器-预处理器定义
_DEBUG
_CONSOLE
BUILDING_LIBCURL
HTTP_ONLY
好了好了,到这里基本就结束了,然后再去百度一个转换成Base64的方法,放到程序里面。
后面你就可以愉快的按照百度官方所提供的东西进行了。