调用科大讯飞语义识别报20021,引擎错误处理
调用科大讯飞语义识别报20021,引擎错误处理
时光不再 发表于11个月前
调用科大讯飞语义识别报20021,引擎错误处理
  • 发表于 11个月前
  • 阅读 239
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

      科大讯飞语义识别,需要依赖 msc32.dllmsc64.dlllibmsc32.solibmsc64.so 四个文件(Windows下为msc32.dll或msc64.dll文件,Linux下libmsc32.so或libmsc64.so文件)。报【20021引擎错误】,很可能就是缺少这四个依赖文件或者依赖文件没有正常加载。

        关于集成科大讯飞语音SDK后报错 20021引擎错误  ,在官网也有相关说明,不过个人感觉说的相对比较繁琐,尤其是针对linux平台的说明。下面是个人感觉比较简单的解决方式,在文后会附上官网的说明。

-------------------个人觉得比较简单的解决方式----------------------

        1、windows平台:找到对应的tomcat文件夹,放到该tomcat的 bin 文件夹中。

        2、linux32位平台:找到依赖的JDK文件夹,放到该JDK文件夹中的 jre>lib>amd32 文件夹中。

        3、linux64位平台:找到依赖的JDK文件夹,放到该JDK文件夹中的 jre>lib>amd64 文件夹中。

-------------------官网针对错误20021的相关说明-------------------

Q:集成sdk后运行,出现java.lang.Unsatisfie.lang.UnsatisfiedLinkError no injava.library.path,或报20021的错误?
A:Java SDK 使用了 JNI 形式,在初始化 SDK 时,SDK 将加载共享库(Windows下为msc32.dll或msc64.dll文件,Linux下libmsc32.so或libmsc64.so文件),报错是因为系统找不到共享库。

一般来说,在 Windows 下,系统加载共享库时的优先级将按以下的顺序:

1,应用的当前运行目录;

2,由系统环境参数 Path 指定的目录;

3,System32 目录;

而在Linux下,系统加载共享库时的优先级将按以下顺序:

1,LD_LIBRARY_PATH指定的目录;

2,/lib/ 和 /lib64/ 目录;

根据上面:

在Windows下,把 dll 文件,放在应用的当前运行目录(一般为应用所在的目录),或在 Path 把 dll 所在目录加入此环境参数中,或者把dll复制到 System32 目录(不建议);

在Linux下,则把 .so 所在目录,通过 export 加入 LD_LIBRARY_PATH 中(在Terminal或在“.bashrc”等启动时会加载的脚本中),或把 .so 文件复制到 lib 文件夹中(不建议);(另外,确保linux的glibc版本为2.11以上;可以执行命令 ldd  libmsc32.so <如64位系统,则命令为 ldd libmsc64.so>,如果有执行结果有`GLIBC_2.11' not found,则需要把 glibc 版本升级到2.11版)

◆一般来说,web项目的当前运行目录,并不项目的根目录,而是由tomcat等 server 指定的目录。所以具体当前运行目录应视 server 而定——即使在 windows 下,也不能把dll文件简单的放在项目根目录下就完事。同时,根据 server 把库文件配置好后,应重启 WebServer 才会生效。

另外,在 Linux 下 eclipse 调试时,可能通过Terminal 来 export LD_LIBRARY_PATH  并不起作用,此时,因为运行的调试环境不在 Terminal 中,需要在项目属性中,设置调试和运行的环境参数,在其中,增加 LD_LIBRARY_PATH ,并指定 so 文件所在的目录,如下图为指定 so 所在目录为当前运行的目录:

错误20021

关于JNI的更多说明,请通过各大搜索引擎获取更多的资料。

附:官网说明地址链接:http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=9864

共有 人打赏支持
粉丝 0
博文 4
码字总数 3358
×
时光不再
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: