虹软官网:https://www.arcsoft.com.cn/
在用Java调用虹软SDK的时候需要注意的问题:
1.SDK版本
虹软的sdk分为LinuxX64、WindowsX86、WindowsX64之分,做开发的时候一定要看好自己的操作系统的版本和对应JDK的版本,例如:WindowsX64 + JDK64 + 虹软SDKX64,如果不对应的话会报sdk引用错误。
2.dll的位置路径no libarcsoft_face_engine_jni in java.library.path
用java调用虹软sdk时,官方给的开发包里分为一个jar和三个dll
arcsoft-sdk-face-2.1.0.0.jar、libarcsoft_face.dll、libarcsoft_face_engine.dll、libarcsoft_face_engine_jni.dll
jar包是引用到项目里面,三个dll也直接复制到项目根目录,但是会报:no libarcsoft_face_engine_jni in java.library.path 错误,我们先看一下java.library.path对应的路径:
默认情况下,Windows平台下java.library.path包含下面的路径:
1)和jre相关的目录
2)程序当前目录
3)Windows目录
4)系统目录(system32)
5)系统环境变量path指定的目录
所以三个dll要放到这5各路径的其中一个,特别要注意的是有时候开发调试的时候没有问题,打包部署的时候报这个错误。也是要去检查一下dll有没有在以上路径
3.依赖项错误libarcsoft_face_engine_jni.dll: Can't find dependent libraries
遇到这个错误是因为系统里缺少虹软的dll所依赖的其他系统dll,一般是msvcr120.dll。我们可以通过一个工具(depends.exe 官网:http://www.dependencywalker.com/)来查看缺少哪些依赖dll。
可以通过安装:Visual C++ Redistributable Packages for Visual Studio 2013来解决msvcr120.dll缺少问题,下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784